用户操作
-- 查看用户 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;❑ 特定的列;❑ 特定的存储过程。