MySQL 用户权限

 

 

用户操作

-- 查看用户
select * from mysql.`user`;
-- 创建用户
CREATE user test IDENTIFIED BY '123456';
-- 重命名用户账号
RENAME user test TO test1
-- 删除用户
DROP user test;
-- 修改用户密码
SET PASSWORD FOR test = `PASSWORD`(123456)
-- 设置当前用户密码
SET PASSWORD = `PASSWORD`(123456)

IDENTIFIED BY指定的口令为纯文本,MySQL将在保存到user表之前对其进行加密。为了作为散列值指定口令,使用IDENTIFIED BY PASSWORD。

GRANT语句也可以创建用户账号,但一般来说CREATEUSER是最清楚和最简单的句子。此外,也可以通过直接插入行到user表来增加用户,不过为安全起见,一般不建议这样做。MySQL用来存储用户账号信息的表(以及表模式等)极为重要,对它们的任何毁坏都可能严重地伤害到MySQL服务器。

自MySQL 5以来,DROP USER删除用户账号和所有相关的账号权限

更改用户口令,可使用SET PASSWORD语句。新口令必须使用PASSWORD函数加密

 

权限操作

-- 查看用户权限
SHOW GRANTS FOR test;
-- 授予权限
GRANT select ON database_a.* TO test;
GRANT select,insert ON database_a.* TO test; 
-- 撤销权限
REVOKE select ON database_a.* FROM test;

GRANT USAGE ON *.* TO 'test'@'%' 此结果表示在任意数据库和任意表上对任何东西没有权限。

使用GRANT语句。GRANT要求你至少给出以下信息:❑ 要授予的权限;❑ 被授予访问权限的数据库或表;❑ 用户名。

GRANT和REVOKE可在几个层次上控制访问权限:❑ 整个服务器,使用GRANT ALL和REVOKE ALL;❑ 整个数据库,使用ON database.*;❑ 特定的表,使用ON database.table;❑ 特定的列;❑ 特定的存储过程。

 

 

posted @ 2020-12-31 16:16  草木物语  阅读(189)  评论(0编辑  收藏  举报