-- 1. 切换到mysql数据库 USE myql; -- 2. 查询user表 SELECT * FROM USER; * 通配符: % 表示可以在任意主机使用用户登录数据库
添加用户
# 语法:CREATE USER '用户名'@'主机名' IDENTIFIED BY'密码'; CREATE USER 'zhangsan'@'localhost' IDENTIFIED BY'123456'; CREATE USER 'lisi'@'%' IDENTIFIED BY '123456';
删除用户 # 语法:DROP USER '用户名'@'主机名'; DROP USER 'zhangsan'@'localhost'; -- 删除zhangsan用户
修改用户密码 # 语法:SET PASSWORD FOR '用户名'@'主机名' = PASSWORD('新密码'); SET PASSWORD FOR 'lisi'@'%' = PASSWORD('abc'); -- 修改lisi的密码为abc
修改完密码,用新密码登录mysql mysql中忘记了root用户的密码,需要使用管理员权限打开cmd命令进行重置? 1. cmd -- > net stop mysql 停止mysql服务 * 需要管理员运行该cmd 2. 使用无验证方式启动mysql服务: mysqld --skip-grant-tables 3. 打开新的cmd窗口,直接输入mysql命令,敲回车。就可以登录成功 4. use mysql; 5. update user set password = password('你的新密码') where user = 'root'; 6. 关闭两个窗口 7. 打开任务管理器,手动结束mysqld.exe 的进程 8. 启动mysql服务 9. 使用新密码登录。 权限管理 新建的用户默认只有登录权限。需要通过授权才能进行其他操作。 查询用户权限 -- 查询用户权限 # 语法:SHOW GRANTS FOR '用户名'@'主机名'; SHOW GRANTS FOR 'lisi'@'%'; list@% 用户有 USAGE 登录权限 授予用户权限 -- 授予用户权限 # 语法:grant 权限列表 on 数据库名.表名 to '用户名'@'主机名'; -- 给lisi用户授予 查询,修改,删除 db3数据库的account表数据的权限 GRANT SELECT,UPDATE,DELETEON db3.`account` TO 'lisi'@'%'; -- 给zhangsan用户授予所有权限 GRANT ALL ON *.* TO 'zhangsan'@'%'; 撤销用户权限 -- 撤销用户权限 # 语法:revoke 权限列表 on 数据库名.表名 from'用户名'@'主机名'; -- 给lisi用户撤销 db3.account 的 UPDATE权限 REVOKE UPDATE ON db3.`account` FROM'lisi'@'%'; -- 给zhangsan用户取消 所有数据库和表 的 DELETE 和 UPDATE的权限 REVOKE DELETE,UPDATEON *.* FROM 'zhangsan'@'localhost'