MySQL 设置用户可以远程连接

431 阅读1分钟

设置root可以任意IP 访问



更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"

mysql -u root -p

mysql>use mysql;

mysql>update user set host = '%' where user = 'root';

mysql>select host, user from user;

创建用户授予权限


GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

FLUSH PRIVILEGES;

其中:

grant 【不区分大小写】,是MySQL 的授权管理命令;

ALL PRIVILEGES 代表所有权限,包括 select,insert,udpate,create,alter等等,代表最大权限,除了root权限, ALL PRIVILEGES 就是最大权限,A也可以用 'select,insert,alter'等特定的权限限制;

on 后面跟第一个 *位置 代表数据库的名称,代表所有的数据库,第二个 * 位置 代表数据表名称,*代表所有的数据表,表示整个数据库的数据表都可操作。如想要区分每个用户只能管理单独的数据库、数据表,例如:

on 'testdb'.'user' 代表 授予testdb数据库的user表的权限。

TO 后面是用户MySQL 的用户名称,

@ 后面是客户端主机地址,其中 % 代表可以从任何主机访问,也可以指定具体的IP地址如'192.168.0.23'

IDENTIFIED BY 'mypassword' 用户的登录密码

最后GRANT 后要FLUSH PRIVILEGES 生效