管理用户
-
添加用户:
CREATE USER '用户名'@'主机名' IDENTIFIED BY '密码';
// 创建用户lisi在本地访问,密码123456 CREATE USER 'lisi'@'localhost' IDENTIFIED BY '123456'; // 创建用户zhangsan在任何主机上都可以访问,密码123456 CREATE USER 'zhangsan'@'%' IDENTIFIED BY '123456';
-
删除用户:
DROP USER '用户名'@'主机名';
// 删除lisi用户 DROP USER 'lisi'@'localhost';
-
修改密码:
UPDATE USER SET PASSWORD=PASSWORD('新密码') WHERE USER='用户名';
或SET PASSWORD FOR '用户名'@'用户名' = PASSWORD('新密码')
// 修改用户lisi的密码为1 UPDATE USER SET PASSWORD=PASSWORD('1') WHERE USER='lisi'; // 修改用户lisi的密码为abc SET PASSWORD FOR 'lisi'@'localhost' = PASSWORD('abc');
- MySQL中忘记了root用户密码
cdm --> net stop mysql
停止MySQL的服务,需要管理员权限进入cmd- 启动MySQL服务,使用无验证的方式:
mysql -- skip-grant-tables
- 打开cdm新窗口,执行:
mysql
就可以连接MySQL服务器了,登录成功 - 执行:
use mysql
启动mysql数据库, - 执行:
UPDATE USER SET PASSWORD=PASSWORD('新密码') WHERE USER='root'
- 关闭两个cmd窗口,打开任务管理器,手动结束mysql.exe进程。
- 启动mysql服务
- 使用新密码登录
-
查询用户:
// 1.切换到mysql数据库; USE mysql; // 2.查询user表 SELECT * FROM USER; // 通配符:%表示可以在任意主机访问使用用户登录数据库
权限管理
-
查询权限:
show grants for '用户名'@'主机名'
// 查看用户lisi的权限 SHOW GRANTS FOR 'lisi'@'localhost';
-
授予权限:
grant 权限列表 on 数据库名.表名 to '用户名'@'主机名'
// 给用户lisi授予db2数据库中account表的查看、删除权限 GRANT SELECT,DELETE ON db2.account TO 'lisi'@'localhost'; // 给lisi授予所有的权限,在任意数据库任意表上 GRANT ALL ON *.* TO 'lisi'@'localhost';
-
撤销权限:
revoke 权限列表 on 数据库名.表名 from '用户名'@'主机名'
// 撤销用户lisi在db2数据库中account表的查看权限 REVOKE SELECT ON db2.`account` FROM 'lisi'@'localhost';