MySql服务器“错误号2003无法连接到MySql服务器”,我无法连接,我已经更改了my.cnf并创建了远程用户

MySql服务器“错误号2003无法连接到MySql服务器”,我无法连接,我已经更改了my.cnf并创建了远程用户,mysql,server,gcloud,Mysql,Server,Gcloud,我的服务器运行在谷歌云平台上,我将在这里展示规范: mysql版本:版本15.1发行版10.1.26-MariaDB,适用于使用readline 5.2的debian linux gnu x86_64 MySql配置文件位于/etc/MySql/mariadb.conf.d/50-server.cnf中 我已经将行从bind address=127.0.0.1更改为bind address=0.0.0.0,之后我使用sudo mysql service restart重新启动了服务 然后我创建了

我的服务器运行在谷歌云平台上,我将在这里展示规范:

mysql版本:版本15.1发行版10.1.26-MariaDB,适用于使用readline 5.2的debian linux gnu x86_64

MySql配置文件位于/etc/MySql/mariadb.conf.d/50-server.cnf中

我已经将行从bind address=127.0.0.1更改为bind address=0.0.0.0,之后我使用sudo mysql service restart重新启动了服务

然后我创建了用户并允许远程连接,下面是我的用户列表:

我一直在尝试通过sqlyog客户端进行连接,但它始终抛出相同的错误消息:


我解决了这个问题,这是针对debian 9和mysql版本15.1发行版10.1.26-MariaDB的,我将在这里写下以下步骤:

1-首先我编辑了这个文件/etc/mysql/mariadb.conf.d/50-server.cnf, 只需找到行绑定地址=127.0.0.1,如果有注释,只需取消注释,将地址更改为0.0.0.0,以允许来自任何地方的流量, 之后,使用service mysql restart命令重新启动mysql服务

2.-在gcloud中,单击您的实例>转到网络接口部分,然后单击>单击防火墙规则部分>选择默认的允许内部防火墙规则,并将tcp:1-65545更改为tcp:1-3305,然后保存它

3.-添加新的防火墙规则>源过滤器>选择Ip间隔>设置0.0.0.0/0,协议和端口设置tcp:3306,保存它,就这样

4.-添加远程mysql用户,示例:

CREATE USER 'myus'@'localhost' IDENTIFIED BY 'mypas'; # To connect from the 
server
CREATE USER 'myus'@'%' IDENTIFIED BY 'mypas'; # To connect from everywhere
向用户授予权限
这对我来说很有效,我希望它对你也有效

尝试使用mysql命令行客户端从本地机器连接。如果这样做有效的话,你可能会遇到防火墙。端口3306必须打开。我试图使用控制台从我的计算机连接,它不断抛出相同的错误,你知道有什么方法来检查是否有防火墙阻止端口吗?事实上,我不是服务器配置方面的专家,但我会尽力学习,谢谢你的帮助support@jorgealbertoherrerarodrguez,在Google云平台中,您可以通过创建。这说明了如何在Google计算引擎上创建两个实例,MySQL服务器和使用防火墙规则在内部连接到服务器的客户端。在您的情况下,由于您是从GCE外部连接的,您需要从“源IP范围”=0.0.0.0/0创建防火墙规则,其中“指定协议和端口”=tcp:3306Hello fady,非常感谢您,您的回答帮了我很多忙,现在它可以工作了,我完全按照您说的做了,但只有一个细节,一个重要的细节,在防火墙规则中,名为default allow internal的规则,它有一个默认tcp值,tcp:1-65545,刚刚将其更改为1-3305,然后添加新的防火墙规则以允许远程mysql访问,现在它工作了,再次感谢fady!感谢您提供详细的解决方案。我觉得奇怪的是,内部防火墙规则端口范围解决了这个问题。我认为这可能只是一个延迟,直到防火墙更新了允许外部流量通过tcp:3306第3点的规则。但是,我很高兴它现在可以工作了。是的,我这么做了,我认为默认允许内部流量只是允许计算引擎实例之间的流量,但我找到了gcloud的官方解决方案,这就是我所需要的答案,在这里我在高级网络注意事项部分找到了更改默认允许内部的说明
GRANT ALL PRIVILEGES ON *.* TO 'myus'@'localhost' IDENTIFIED BY 'mypas' WITH 
GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO 'myus'@'%' IDENTIFIED BY 'mypas' WITH GRANT 
OPTION;

FLUSH PRIVILEGES;