MySQL权限管理是对用户行为进行一定的约束,不同的权限可以执行不同的操作,其中拥有所有权限并且拥有授予别人权限能力的就是root用户,可以看做是上帝,很无敌的那种,哈哈。
这么做也是为了数据库安全考虑,以防数据丢失或者被破坏。
常见权限介绍
名称
描述SELECT
查询拿取数据权限
INSERT
插入表数据权限
UPDATE
更新表数据权限
DELETE
删除表数据权限
CREATE
创建数据库、表或索引权限
DROP
删除数据库或表权限
GRANT
赋予权限
INDEX
索引权限
ALTER
修改表权限
授权语句
授予用户所有权限,这可能是你现在最想要的语句
grant all privileges on *.* to vien@'%'
这句话是授予一个已经存在的、用户名为vien的用户,通过所有的host连接都有所有的权限。反正看起来就很厉害的样子。
完事记得刷新下权限。
flush privileges;
当然,如果没有用户,想直接创建用户并授予所有权限怎么办呢,只要加个小尾巴就好了
grant all privileges on *.* to vien@'%' identified by "password";
就是在这加了个密码而已,如果再给他可以授予别人权限的能力,再加个小尾巴
grant all privileges on *.* to vien@'%' identified by "password" with grant option;
下面详细介绍一下以上提到的命令一些关键的地方和语法:
ALL PRIVILEGES 表示你有任何权限,总之,为所欲为-为所欲为-为所欲为...
ON 指定针对哪些库、表授权。
*.* 中前面的*号指定库,后面的*号指定表,例如 blog.article 指的是blog数据库的article表,而*则表示所有
TO 后面接的是要被授权的用户。
vien@'%' 前面是用户名vien,@后可以使IP地址或地址段、主机名、域名等,而%表示everywhere,就是你从哪连都行。
IDENTIFIED BY 指定登录密码。
WITH GRANT OPTION 表示该用户有权限把自己的权限授权给别人。
查看权限
查看当前用户权限
show grants
查看某个用户权限
show grants for 'vien'@'%';
查看用户
use mysql;
select host,user,password from user;
回收权限
revoke update on *.* from 'vien'@'%';
删除用户
drop user 'vien'@'%';
用户名重命名
rename user 'vien'@'%' to 'luvvien'@'%';
设置、修改密码
关于忘记密码、设置密码、修改密码请参考: MySQL忘记密码
viencoding.com版权所有,允许转载,但转载请注明出处和原文链接: https://viencoding.com/article/112
欢迎小伙伴们在下方评论区留言 ~ O(∩_∩)O