问题重述
之前在云服务器上装好mysql后,想远程连接mysql,但是报错:
Host 'xxxx' is not allowed to connect to this MySQL server
这是因为没有给该IP授予连接权限,然后我使用了如下命令:
grant all privileges on *.* to root@'IP地址' identified by '123456';
flush privileges;
然后使用如下命令重启mysql服务
/etc/init.d/mysqld restart
但是这些都是治标不治本的,当我换了一个环境后,即我的电脑IP地址改变后,就又会出现这个错误,然后我就又要重新按上面的步骤来,这样十分麻烦。
问题解决
在查找了相关资料和博客后,可以使用以下方法完美解决这个问题:
1.登录mysql,使用mysql数据库
mysql -u root -p
use mysql
2.使用命令修改mysql权限表
update user set host='%' where user='root';
可能会报如下错,但是不要紧,可以忽视。
ERROR 1062 (23000): Duplicate entry '%-root' for key 'PRIMARY'
3.查看数据库的权限信息
select host,user from user;
如果是像这张图片一样的,说明成功了,即user部分都是root
4.刷新权限
flush privileges;
|