mysql 127.0.0.1连接正常,使用ip无法连接

380 阅读1分钟

环境说明

问题说明

  1. 使用 127.0.0.1连接mysql
mysql -uroot -p -h127.0.0.1

image.png

  1. 使用ip连接mysql
# 查看当前虚机的ip地址
ip a
# 使用ip地址连接mysql
mysql -uroot -p -h192.168.91.133

错误信息: ERROR 1130 (HY000): Host '192.168.91.133' is not allowed to connect to this MySQL server

image.png

解决步骤

  1. 使用 127.0.0.1 连接进入mysql,并查询root用户的主机名,发现root用户对应的主机名默认为localhost
 mysql -uroot -p -h127.0.0.1
 SELECT host FROM mysql.user WHERE User = 'root';

image.png

  1. 修改root用户的主机名为所有ip
CREATE USER 'root'@'%' IDENTIFIED BY 'your_mysql_password';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';
# 刷新下权限
flush privileges;

image.png

  1. 查看root用户对应的主机名,发现多了 %
 SELECT host FROM mysql.user WHERE User = 'root';

image.png

  1. 使用ip重新连接mysql
mysql -uroot -p -h192.168.91.133

image.png

参考文档