mysql 授权后仍然不能远程登录

搭了一个 mysql 自己测试用,
如下授权后仍然不能远程登录:
grant all privileges on . to root@'%' identified by '123456' with grant option ;

  1. 检查授权是否正确:
    mysql> show grants for root@'%';
    +--------------------------------------------------------------------------------------------------------------------------------+
    | Grants for root@% |
    +--------------------------------------------------------------------------------------------------------------------------------+
    | GRANT ALL PRIVILEGES ON . TO 'root'@'%' IDENTIFIED BY PASSWORD '*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9' WITH GRANT OPTION |
    +--------------------------------------------------------------------------------------------------------------------------------+
    1 row in set (0.00 sec)
    正确

  2. 检查防火墙
    因为是测试机直接停掉防火墙:
    ufw disable
    仍然不能远程连接

  3. telnet 3306
    利用 telnet 3306 端口,发现不通,问题找到了
    从https://blog.csdn.net/fjssharpsword/article/details/72865706 参考

得出结论是 my.cnf 里的
bind-address = 127.0.0.1 的问题

这里默认是本地的地址,只允许本机访问3306,所有 其他服务器不能连接
改为 0.0.0.0 重启服务就可以了, 问题解决

后续: 后跟 DBA 大佬谈到这个配置参数, 直接注释掉 这条参数就好了,

你可能感兴趣的:(mysql 授权后仍然不能远程登录)