mysql远程使用root连接报错
ERROR 1130 (HY000): Host ‘SC-201703262107’ is not allowed to connect to this MySQL server
说明所连接的用户帐号没有远程连接的权限,只能在服务器本机(localhost)登录。 需更改 mysql 数据库里的 user表里的 host项
一、把localhost改称%
具体步骤:
1、登陆到MySQL 首先 use mysql,更新user表host字段为%;
select user,host from user;
±--------------±----------+
| user | host |
±--------------±----------+
| root | localhost |
| mysql.session | localhost |
| mysql.sys | localhost |
±--------------±----------+
update user set host=’%’ where user=‘root’
select user,host from user;
±--------------±----------+
| user | host |
±--------------±----------+
| root | % |
| mysql.session | localhost |
| mysql.sys | localhost |
±--------------±----------+
2、关闭服务器防火墙(再次连接处于等待无反映状态,将服务器防火墙关闭后连接成功!)
二、附另一种方法:
开启远程连接:
修改 Mysql-Server 用户配置
mysql> USE mysql; – 切换到 mysql DB
Database changed
mysql> SELECT User, Password, Host FROM user; – 查看现有用户,密码及允许连接的主机
±-----±---------±----------+
| User | Password | Host |
±-----±---------±----------+
| root | | localhost |
±-----±---------±----------+
1 row in set (0.00 sec)
mysql> – 只有一个默认的 root 用户, 密码为空, 只允许 localhost 连接
12
mysql> – 下面我们另外添加一个新的 root 用户, 密码为空, 只允许 192.168.1.100 连接
mysql> GRANT ALL PRIVILEGES ON . TO ‘root’@‘192.168.1.100’ IDENTIFIED BY ‘’ WITH GRANT OPTION;
mysql> – @'192.168.1.100’可以替换为@‘%’就可任意ip访问,当然我们也可以直接用 UPDATE 更新 root 用户 Host, 但不推荐, SQL如下:
mysql> – UPDATE user SET Host=‘192.168.1.100’ WHERE User=‘root’ AND Host=‘localhost’ LIMIT 1;
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)