尝试连接到 google-cloud 中的 MariaDB 数据库但无法连接不显示任何错误报告
Trying to connect to a MariaDB database in google-cloud but cant connect nor show any error report
我正在尝试将一个简单的程序连接到在 Google 云中的 VM
中创建的 MariaDB
数据库。
VM
已经安装了 MariaDB
和一个小型工作演示数据库。
使用的代码如下:
#include <mysql++/mysql++.h>
#include <iostream>
// Nombres
using namespace std;
using namespace mysqlpp;
// INICIO
int main ()
{
//Declara variables
char server[] = "104.197.112.189:3306";
char user[] = "root";
char pass[] = "xxxxxxxx";
char db[] = "resst";
unsigned int i;
//conexión
Connection con;
con.connect("", server, user, pass);
con.select_db(db);
//pedido SQL
string consulta = "select * from productos";
//realización de pedido
Query pedido = con.query(consulta);
StoreQueryResult resp = pedido.store();
Row fila;
for (i=0;i<resp.num_rows();i++)
{
cout << "res " << i+1 << " " << resp[i]["nombre"] << endl;
}
con.disconnect();
return 0;
}
此代码与在我的本地主机中创建的此数据库的精确副本完美配合,并在我 运行 在本地打印结果。
另一方面,当我 运行 它连接到在线数据库时,程序完全没有显示任何内容,没有 window,没有行,没有错误,只有我 运行 它有一个空行,所以我不知道从哪里开始看。错误报告处于活动状态,并显示发生的任何其他错误。
拜托,任何人都可以给我一些提示吗?
好的,对于有类似问题的人来说,Mariadb(可能也适用于 MySQL)和 Google Cloud 默认锁定所有外部连接。分两步解决:
在 google 云中:进入开发人员控制台/您的项目/连接/防火墙规则并创建一个允许端口 3306 的新规则,这是 MySQL 和 Mariadb 的默认设置。
在 Mariadb 中:在 this tutorial 的第一部分之后更改 my.conf
。
就是这样,现在它正在工作。感谢@mrunion 的帮助。
我正在尝试将一个简单的程序连接到在 Google 云中的 VM
中创建的 MariaDB
数据库。
VM
已经安装了 MariaDB
和一个小型工作演示数据库。
使用的代码如下:
#include <mysql++/mysql++.h>
#include <iostream>
// Nombres
using namespace std;
using namespace mysqlpp;
// INICIO
int main ()
{
//Declara variables
char server[] = "104.197.112.189:3306";
char user[] = "root";
char pass[] = "xxxxxxxx";
char db[] = "resst";
unsigned int i;
//conexión
Connection con;
con.connect("", server, user, pass);
con.select_db(db);
//pedido SQL
string consulta = "select * from productos";
//realización de pedido
Query pedido = con.query(consulta);
StoreQueryResult resp = pedido.store();
Row fila;
for (i=0;i<resp.num_rows();i++)
{
cout << "res " << i+1 << " " << resp[i]["nombre"] << endl;
}
con.disconnect();
return 0;
}
此代码与在我的本地主机中创建的此数据库的精确副本完美配合,并在我 运行 在本地打印结果。
另一方面,当我 运行 它连接到在线数据库时,程序完全没有显示任何内容,没有 window,没有行,没有错误,只有我 运行 它有一个空行,所以我不知道从哪里开始看。错误报告处于活动状态,并显示发生的任何其他错误。
拜托,任何人都可以给我一些提示吗?
好的,对于有类似问题的人来说,Mariadb(可能也适用于 MySQL)和 Google Cloud 默认锁定所有外部连接。分两步解决:
在 google 云中:进入开发人员控制台/您的项目/连接/防火墙规则并创建一个允许端口 3306 的新规则,这是 MySQL 和 Mariadb 的默认设置。
在 Mariadb 中:在 this tutorial 的第一部分之后更改 my.conf
。
就是这样,现在它正在工作。感谢@mrunion 的帮助。