当MySQL数据库安装完成后,本机登录操作没有问题.
在防火墙关闭的情况下,使用SQLyog或Navicat等远程远程连接MySQL数据库时,
使用root账号登录却报错误号码1130 – Host is not allowed to connect to this MySQL server.
这种情况,很大的可能是没有授权远程主机使用root账号登录的权限.这时,我们可以在安装MySQL的主机上面,通过本机登录MySQL,进行授权(假设登录用户名为root,登录密码为123456).
具体步骤如下(Windows和Linux相同):
1. 登录数据库,并输入密码
mysql -u root -p
2. 修改登录权限
GRANT ALL PRIVILEGES ON *.* TO '登录用户名'@'允许登录的主机' IDENTIFIED BY '登录密码' WITH GRANT OPTION;
例如,想让任何主机都可以使用root账号登录数据库,权限语句可以这样写(%匹配任何主机)
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
而如果只想让指定的ip:192.168.1.10登录,权限语句可以这样写
GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.10' IDENTIFIED BY '123456' WITH GRANT OPTION;
3. 刷新权限表,使以上设置立即生效
flush privileges;
以上操作如下图:
完成以上设置后,再次登录.此时,远程可以正确的登录MySQL.
记录备忘.