授权命令格式:grant 权限 on 数据库.* to 用户名@登录主机 identified by "密码"
-
权限:select/insert/update/delete/all,多个权限之间用英文逗号隔开。
-
数据库:数据库名称,或者使用“*”代替所有数据库。
-
登录主机:localhost/具体IP/%,其中“%”代表除localhost之外的所有IP。
快速参考:
grant all on database1.* to user1@’%’ identified by ‘pass’;
grant select on database2.* to user1@’%’;
grant all on database1.* to user2@’localhost’ indetified by ‘password’;
例1、增加一个用户user_1密码为123,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入MySQL,然后键入以下命令:
grant select,insert,update,delete on *.* to user_1@"%" Identified by "123";
例1增加的用户是十分危险的,如果知道了user_1的密码,那么他就可以在网上的任何一台电脑上登录你的MySQL数据库并对你的数据为所欲为了,解决办法见例2。
例2、增加一个用户user_2密码为123,让此用户只可以在localhost上登录,并可以对数据库aaa进行查询、插入、修改、删除的操作(localhost指本地主机,即MySQL数据库所在的那台主机),这样用户即使用知道user_2的密码,他也无法从网上直接访问数据库,只能通过 MYSQL主机来操作aaa库。
grant select,insert,update,delete on aaa.* to user_2@localhost identified by "123";
取消授权命令格式:REVOKE privileges (columns) ON what FROM user
例如:revoke all on sonar_int.* from public;