MYSQL笔记 之 用户权限管理
程序员文章站
2022-05-31 17:31:03
...
用户权限管理主要有以下作用:
可以限制用户访问哪些库、哪些表
可以限制用户对哪些表执行SELECT、CREATE、DELETE、DELETE、ALTER等操作
可以限制用户登录的IP或域名
以限制用户自己的权限是否可以授权给别的用户
账号存储在:mysql库 → user表中
root账号
root账号默认只能本机访问,其它电脑无法连接使用!
注意:
MySQL 默认有个root用户,但是这个用户权限太大,一般只在管理数据库时候才用。
如果在项目中要连接 MySQL 数据库,则建议新建一个权限较小的用户来连接。
查询用户
select host,user from user;
创建用户
%:任意电脑IP
local:本地访问
'IP地址':指定某地址访问
create user 用户名@'%' identified by '密码';
flush privileges;//刷新权限,对于user表的所有操作后都应该刷新
修改用户密码
– 密码都会调用password()方法进行加密
update user set password = PASSWORD('新密码') where user = '用户名';// 5.7版本前
update user set authentication_string = password('新密码') where user = '用户名'; 5.7版本后
删除用户
drop user '用户名';
授权语句 – grant
- 普通权限
grant 权限 on 数据库对象 to 用户名;
例:grant select on 库名.* to 用户名@'%'; //本条语句将某库下的所有表的select权限授予了某用户 grant insert on test.* to 用户名@'%'; //插入权限 grant update on test.* to 用户名@'%'; //修改权限 grant delete on test.* to 用户名@'%'; //删除权限 grant select,insert,update,delete on 库名.* to 用户名@'%'; //汇总
- 高级权限
grant all privileges on test.* to 用户名@'%'; //该用户在普通权限的基础上拥有了表的增删查改权限
撤销权限
revoke 权限 on 数据库对象 from 用户名;
例:
revoke select on ps_java.* from 'passerby'@'%';
revoke all privileges, grant option from 'passerby'@'%';
查看当前用户权限
show grants;
查看其它用户权限
show grants for 用户名@'%';
上一篇: lua开发环境的搭建
下一篇: 【MySQL 视频笔记10】权限