MySQL只能本地连接?

当我们在虚拟机中安装并初始化一个MySQL之后,可能需要通过本地的客户端来连接虚拟机中的MySQL:

mysql -h xxx.xxx.xx.xx -u root -p

这时直接连接会报错:ERROR 1130 (HY000): Host '192.168.XX.XX' is not allowed to connect to this MySQL server

检查了网络和防火墙确实是没问题的,在本地可以连接上mysql服务。这个报错其实比较明显,host为 '192.168.XX.XX'  的主机没有权限连接到指定的MySQL服务器。

在mysql.user表中,有两个列,user和host,共同构成主键,其中user列表示用户名,而host列表示该用户可以在哪些主机上进行登陆,默认为localhost,即仅允许在本机进行连接,可以直接用update语句修改user表,将host列的值改为%,即表示允许在任意主机连接MySQL服务。

use mysql;
select user,host from user;
update user set host = '%' where user = 'root';
flush privileges;

注意最后一条命令,表示刷新权限,之前的修改要在刷新后才生效。

修改完成后,就可以在本机连接虚拟机中的MySQL啦。

你可能感兴趣的:(MySQL,mysql)