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;
下面详细介绍一下以上提到的命令一些关键的地方和语法:
*.*
中前面的*
号指定库,后面的*
号指定表,例如 blog.article
指的是blog数据库的article表,而*
则表示所有查看当前用户权限
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