虽然不建议大家生产环境中MySQL用户可以远程连接,但是开发时还是可以的,使用GRANT可以创建用户,可以控制权限。GRANT 实际开发过程中经常会用到。
目录
1.设置root可以任意IP 访问
2.创建用户授予权限
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;
2
创建用户授予权限
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 生效
END