MySQL数据库之用户管理(DCL)

1.SQL分类

(1)DDL(Data Definition Language)数据定义语言
  操作数据库和表(增删改数据库和表)
  关键字:create,drop,alter等
(2)DML(Data Manipulation Language)数据操作语言
  操作数据库中表的数据(增删改表数据)
  关键字:insert,delete,update等。
(3)DQL(Data Query Language)数据查询语言
  用来查询数据库中表的记录(数据)。
  关键字:select,where等。
(4)DCL(Data Control Language)数据控制语言
  管理用户,授权。
  关键字:GRANT REVOKE等。

2. DCL操作

2.1 管理用户

(1)添加用户

  • 语法
CREATE USER '用户名'@'主机名' IDENTIFIED BY '密码';
  • 示例
# 创建只能在本主机登录数据库的用户
CAEATE USER 'zhangsan'@ 'localhost' IDENTIFIED BY '123456';

#创建可以在其他主机登录的数据库的用户
CAEATE USER 'zhangsan'@'%' IDENTIFIED BY '123456';

(2)删除用户

  • 语法
DROP USER '用户名'@ '主机名';

(3)修改用户密码

  • 语法
# 第一种方式
UPDATE USER SET PASSWORD = PASSWORD('新密码') WHERE USER = '用户名';

# 第二种方式
SET PASSWORD FOR '用户名'@ 'localhost' = PASSWORD('新密码');
  • 在MySQL中,忘记root用户的密码解决步骤
    ① 停止mysql服务;
      以管理员方式打开cmd窗口,输入命令 net stop mysql
    ② 使用无验证方式启动mysql服务;
      mysqld --skip-grant-tables
    ③ 打开新的cmd窗口,直接输入mysql命令回车,即可登录成功;
    ④ cmd窗口下,修改root用户密码;
      use mysql;
      update user set password = password(‘新密码’) where user = ‘root’;
    ⑤ 关闭两个cmd窗口;
    ⑥ 在任务管理器中,手动结束mysqld.exe进程;
    ⑦ 启动mysql服务;
      以管理员方式打开cmd窗口,输入命令 net start mysql
    ⑧ 使用新密码登录。

(4)查询用户

  • 语法
# 切换到mysql数据库
USE mysql;

# 查询user表
SELECT * FROM USER;
  • 注意:通配符% 表示可以在任意主机使用用户登录数据库。

2.2 授权操作

(1)查询权限

  • 语法
SHOW GRANTS FOR '用户名'@ '主机名';
  • 示例
# 查询root用户权限
SHOW GRANTS FOR 'root'@ 'localhost';

(2)授予权限

  • 语法
GRANT 权限列表 ON 数据库名.表名 TO '用户名'@ '主机名';
  • 示例
# 给 用户lisi 授予 查询 数据库ecargbd3中的account表的权限
GRANT SELECT ON ecargdb3.account TO 'lisi'@ 'localhost';

# 给 用户zhangsan 授予 所有数据库的所有表的所有权限
GRANT ALL ON *.* TO 'zhangsan'@ 'localhost';

(3)撤销权限

  • 语法
REVOKE 权限列表 ON 数据库名.表名 FROM '用户名'@ '主机名';
  • 示例
# 撤销 用户lisi 更新 数据库ecargbd3中的account表的权限
REVOKE UPDATE ON ecargdb3.account FROM 'lisi'@ 'localhost';

3.其他数据库操作地址

(1)DDL详细介绍见MySQL数据库和表之CRUD(DDL)
(2)DML详细介绍见MySQL数据库表数据之CRUD(DML)
(3)DQL详细介绍见MySQL数据库表数据之查询(DQL)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值