尝试连接到 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 的帮助。