代码之家  ›  专栏  ›  技术社区  ›  Jorge Herrera

MySql服务器错误号2003无法连接到MySql服务器,我无法连接,我已经更改了我的。cnf和创建的远程用户

  •  1
  • Jorge Herrera  · 技术社区  · 7 年前

    我的服务器运行在google云平台上,我将在此处显示规范:

    mysql版本:Ver 15.1 Distrib 10.1.26-MariaDB,适用于使用readline 5.2的debian linux gnu(x86\u 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

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

    enter image description here

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

    enter image description here

    1 回复  |  直到 7 年前
        1
  •  1
  •   Jorge Herrera    7 年前

    我解决了这个问题,这是针对debian 9和mysql Ver 15.1 Distrib 10.1.26-MariaDB的,我将在这里编写步骤:

    1-首先我编辑了这个文件/etc/mysql/mariadb。conf.d/50-服务器。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
    

    向用户授予权限

    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;
    

    这对我有用,我希望对你也有用