MySQL数据库学习笔记(十)—— SQL(DCL)

管理用户
  • 添加用户: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用户密码
    1. cdm --> net stop mysql 停止MySQL的服务,需要管理员权限进入cmd
    2. 启动MySQL服务,使用无验证的方式:mysql -- skip-grant-tables
    3. 打开cdm新窗口,执行:mysql就可以连接MySQL服务器了,登录成功
    4. 执行:use mysql启动mysql数据库,
    5. 执行:UPDATE USER SET PASSWORD=PASSWORD('新密码') WHERE USER='root'
    6. 关闭两个cmd窗口,打开任务管理器,手动结束mysql.exe进程。
    7. 启动mysql服务
    8. 使用新密码登录
  • 查询用户:

    // 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';
    
发布了113 篇原创文章 · 获赞 1 · 访问量 934

猜你喜欢

转载自blog.csdn.net/weixin_44876003/article/details/103424969