mysql 创建用户、分配权限

mysql创建用户的方法分成三种:INSERT USER表的方法、CREATE USER的方法、GRANT的方法。
1、通过CREATE USER命令进行创建用户
脚本:CREATE USER 'username'@'host' [IDENTIFIED BY 'PASSWORD'] 其中密码是可选项;
例子:CREATE USER 'test'@'127.0.0.1' IDENTIFIED BY "123";
CREATE USER 'test'@'127.0.0.%' IDENTIFIED BY "123";
CREATE USER 'test'@' %' ;
说明:该方法创建出来的用户只有连接数据库的权限,需要后续继续授权;
2、通过GRANT命令创建用户
个人习惯一般用这种方法进行创建用户,当数据库存在用户的时候GRANT会对用户进行授权,但当数据库不存在该用户的时候,就会创建
相应的用户并进行授权。(说明上面那步是多余的)
脚本:
GRANT ON [object] [IDENTIFIED BY 'password']
[WITH GRANT OPTION];
MAX_QUERIES_PER_HOUR count
MAX_UPDATES_PER_HOUR count
MAX_CONNECTIONS_PER_HOUR count
MAX_USER_CONNECTIONS count
说明:priv代表权限select,insert,update,delete,create,drop,index,alter,grant,references,reload,shutdown,process,file等14个权限
例子:mysql>grant select,insert,update,delete,create,drop on test.hr to test@127.0.0.1 identified by '123';
说明:给主机为127.0.0.1的用户test分配可对数据库test的hr表进行select,insert,update,delete,create,drop等操作的权限,并设定口令
为123。
mysql>grant all privileges on test.* to test@127.0.0.1 identified by '123';
说明:给主机为127.0.0.1的用户test分配可对数据库test所有表进行所有操作的权限,并设定口令为123。
mysql>grant all privileges on *.* to test@127.0.0.1 identified by '123';
说明:给主机为127.0.0.1的用户test分配可对所有数据库的所有表进行所有操作的权限,并设定口令为123。
mysql>grant all privileges on *.* to test@127.0.0.1 identified by '123';
说明:用户test分配可对所有数据库的所有表进行所有操作的权限,并设定口令为123。
3、直接向mysql.user表插入记录
因为数据库的用户信息都是保存在mysql.user这张表的,所以直接对该表进行插入语句,即可完成用户的创建;
mysql> insert into user (host,user,password) values ('%','test',password('123'));
4、完成用户的创建后,请记得刷新系统权限表;
mysql>flush privileges;

你可能感兴趣的:(mysql)