一、 DCL-管理用户
二、DCL-权限控制
一、 DCL-管理用户,主要是DBA数据库管理员使用,开发使用较少
# 1、查询用户
use mysql;
show tables;
desc user;
select * from user;
# host为主机地址, 主机地址和用户名确定唯一性
# 2、创建用户
create user 'itcast'@'localhost' identified by '123456'; # 用户itcast在localhost本机,密码123456,此时权限不完全
create user 'user1'@'%' identified by '123456';# %代表任意主机
# 3、修改用户密码
alter user 'user1'@'%' identified with mysql_native_password by '654321';# 修改本地用户
# 4、删除用户
drop user 'itcast'@'localhost';
二、DCL-权限控制
# 查询权限
show grants for 'user1'@'%' ;
# GRANT USAGE ON *.* TO `itcast`@`localhost`仅仅可以连接登陆mysql
# 授予权限
grant alter,drop on itcast.* to 'user1'@'%' ;
grant all on itcast.* to 'user1'@'%' ;# 授权数据库的全部表
grant all on *.* to 'user1'@'%' ;# 授权全部数据库
# 撤销权限
revoke all on itcast.* from 'user1'@'%' ;
revoke alter on itcast.* from 'user1'@'%' ;
### cmd
C:\Users\hym>mysql -u user1 -p
Enter password: ******
ERROR 1045 (28000): Access denied for user 'user1'@'localhost' (using password: YES)
C:\Users\hym>mysql -u user1 -p
Enter password: ******
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 12
Server version: 8.0.39 MySQL Community Server - GPL
Copyright (c) 2000, 2024, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| performance_schema |
+--------------------+
2 rows in set (0.00 sec)
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| itcast |
| performance_schema |
+--------------------+
3 rows in set (0.00 sec)