Host ‘ ‘ is not allowed to connect to this MySQL server

使用mysql -hxx.xx.xx.xx -uroot -p远程访问服务器上的mysql时报错

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

查看用户表:

#在服务器登录mysql
mysql -uroot -p
#查看root用户所在主机情况
SELECT host FROM mysql.user WHERE User = 'root';

发现root用户只能在本地localhost登录,即只存在root@localhost

解决方法

添加root@"其他ip"用户,并给予权限。

#进入mysql,依次执行如下命令,把你的机器ip地址加入进去
CREATE USER 'root'@'你的ip地址' IDENTIFIED BY '你的密码';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'ip_address';
FLUSH PRIVILEGES;

或者,直接使用通配符‘%’,把所有ip加入进去,方便测试

CREATE USER 'root'@'%' IDENTIFIED BY '你的密码';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';
FLUSH PRIVILEGES;

然后退出mysql,在bash终端执行如下命令,重启mysql服务。

sudo service mysqld restart

此时可以进行远程连接了

你可能感兴趣的:(SQL,Linux,mysql,linux)