首页 文章

无法远程访问MySQL服务器

提问于
浏览
0

我一直在尝试远程访问MySQL数据库时遇到麻烦 . 它可以很好地访问本地或局域网,但在互联网上尝试时我收到此错误:

Host '192.168.1.1' is not allowed to connect to this MySQL server

我做了所有这些:

  • 禁用防火墙

  • 使用本地客户端授予权限: GRANT ALL ON *.* TO root@'%' IDENTIFIED BY 'root' ;

然后当我尝试连接时:

mysql -h190.XXX.XXX.XXX -uroot -proot

请注意,我尝试通过公共IP(190.XXX.XXX.XXX)进行连接,但错误显示路由器本地IP(路由器配置为将端口3306转发到服务器主机) .

1 回答

  • 2

    有很多可能的原因:

    _首先在my.cnf中:

    #skip-networking # should be disabled
    bind-address = 0.0.0.0  #make sure it is not bound to localhost
    

    _然后确保没有防火墙,你不需要在/etc/hosts.allow中打开端口(或者你正在使用的任何东西,如亚马逊策略编辑器)

    _你的授权也应该有授权选项(我会使用root以外的东西进行远程访问):

    GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'pass' WITH
    GRANT OPTION;
    

    _然后确保刷新权限(授权后):

    flush privileges;
    

相关问题