mysql查看,创建,授权,删除用户的实现方式
作者:yololee_
这篇文章主要介绍了mysql查看,创建,授权,删除用户的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
一、查看用户
查看用户并没有直接的SQL语句,而是进入 mysql数据库的user表(这个mysql库和user表都是一开始就有的),直接用 select * from user;来查看有什么用户
use mysql; select * from user;
二、创建用户
格式:
CREATE USER 'user_name'@'host' IDENTIFED BY 'password';
解释:
user_name
:要创建用户的名字host
:表示要这个新创建的用户允许从哪台机登陆,如果只允许从本机登陆,则 填 ‘localhost’ ,如果允许从远程登陆,则填 ‘%’password
:新创建用户的登陆数据库密码,如果没密码可以不写
例子:
//表示创建的新用户,名为aaa,这个新用户密码为123456,只允许本机登陆 create USER 'aaa'@'localhost' IDENTIFIED by '123456'; //表示新创建的用户,名为bbb,这个用户密码为123456,可以从其他电脑远程登陆mysql所在服务器 create USER 'bbb'@'%' IDENTIFIED by '123456'; /表示新创建的用户ccc,没有密码,可以从其他电脑远程登陆mysql服务器 create USER 'ccc'@'%';
三、授权用户
格式:
GRANT privileges ON databasename.tablename TO 'username'@'host';
解释:
privileges
:表示要授予什么权力,例如可以有 select , insert ,delete,update等,如果要授予全部权力,则填 ALLdatabasename.tablename
:表示用户的权限能用在哪个库的哪个表中,如果想要用户的权限很作用于所有的数据库所有的表,则填 .,*是一个通配符,表示全部。'username'@'host'
:表示授权给哪个用户
例子:
//表示给用户ccc授权,让ccc能给dcim库中的user表 实行 insert 和 select GRANT insert,select ON dcim.user TO 'ccc'@'%'; 表示给用户bbb授权,让bbb能给所有库所有表实行所有的权力 GRANT ALL ON *.* TO 'bbb'@'%';
注意:
用以上命令授权的用户不能给其他用户授权,如果想这个用户能够给其他用户授权,就要在后面加上 WITH GRANT OPTION
GRANT ALL ON *.* TO 'aaa‘@'%' WITH GRANT OPTION;
四、删除用户
格式:
DROP USER 'user_name'@'host';
例子:
DROP USER 'bbb'@'%';
五、修改用户密码
格式:
SET PASSWORD FOR 'username'@'host' = PASSWORD('newpassword');
例子:
set PASSWORD FOR 'aaa'@'localhost' =PASSWORD('12345678');
如果是设置当前用户的密码:
SET PASSWORD = PASSWORD('newpassword');
例子:
SET PASSWORD = PASSWORD(‘123456');
六、撤销用户权限
格式:
REVOKE privileges ON database.tablename FROM 'username'@'host';
例子:
REVOKE select ON *.* FROM 'ccc'@'%';
注意:
- 若授予权利是这样写: GRANT SELECT ON *.* TO ‘ccc’@‘%’;
- 则用 REVOKE SELECT ON dcim.user TO ‘ccc’@‘%’;是不能撤销用户ccc 对 dcim.user 中的SELECT 权利的
- 反过来 GRANT SELECT ON dcim.user TO ‘ccc’@‘%’;授予权力
- 用 REVOKE SELECT ON *.* FROM ‘ccc’@‘%’;也是不能用来撤销用户ccc 对dcim库的user表的SELECT 权利的
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。