天天看点

mysql开启或关闭远程登陆权限

使用root用户在服务器登陆可以开启或关闭远程登陆权限。

#关闭MySQL root用户远程访问权限:

use mysql;

update user set host = “localhost” where user = “root” and host = “%”;

flush privileges;

打开MySQL root用户的远程访问权限:

use mysql;

update user set host = “%” where user = “root”;

flush privileges;

备注:

#------------mysql root 用户无法赋权问题解决 --------

1,登录 mysql -u root -p

2,use mysql; 选择mysql数据库

3,执行以下操作(查询用户的赋权权限,更改赋权权限 ,刷新生效)

mysql> select user,host,grant_priv from user;

±--------------±----------±-----------+

| user | host | grant_priv |

±--------------±----------±-----------+

| root | localhost | Y |

| mysql.session | localhost | N |

| mysql.sys | localhost | N |

| root | % | N |

| xc_admin | % | N |

±--------------±----------±-----------+

5 rows in set (0.00 sec)

mysql> update user set grant_priv=‘Y’ where user = ‘root’;’

Query OK, 1 row affected (0.00 sec)

Rows matched: 2 Changed: 1 Warnings: 0

mysql> flush privileges;#刷新权限

Query OK, 0 rows affected (0.00 sec)

mysql> select user,host,grant_priv from user;

±--------------±----------±-----------+

| user | host | grant_priv |

±--------------±----------±-----------+

| root | localhost | Y |

| mysql.session | localhost | N |

| mysql.sys | localhost | N |

| root | % | Y |

| xc_admin | % | N |

±--------------±----------±-----------+

5 rows in set (0.00 sec)

解析:通过第一个查询语句可以看出 默认的root 在非本地权限中的grant_priv(赋权权限)是关闭的。

可以理解为:用root用户在本地的机器上(安装mysql的那台机器)是能赋权的。其他IP赋权是默认不允许的。可能为了安全性考虑

那我们使用工具远程创建用户就会出现1044 代码。通过重新更新权限就能解决这个问题。

继续阅读