mysql数据库DCL

mysql数据库DCL

DCL(授权控制),将一部分的权限给部分用户,部分用户再管理库、表、字段。

权限级别

权限的级别代表有哪些权限可以授予给用户使用。
权限有以下级别:

global level 所有库,所有表的权限
database level某个数据库中所有表的权限.
table level库中的某个表的权限
column level表中的某个字段的权限

通常使用的是database level。

mysql用户管理

mysql权限授予的时候默认是root用户。
可以查看用户的位置是在mysql库中的user表中。
在这里插入图片描述
可以查看user表的结构

desc mysql.user\G;

在这里插入图片描述

创建用户
# localhost代表本地登陆
# create user 用户@"登陆点" 确认方式 密码;
create user user1@"localhost" identified by "Yue@123456";
create user user1@"192.168.1.%";

可以使用select查询创建的用户

select host,user from mysql.user;

在这里插入图片描述
在这里插入图片描述可以使用user1登陆Mysql.

mysql -uuser1 -p"Yue@123456"
删除用户
drop user "user1"@"localhost";
修改密码

用户修改自己的密码

set password=password("Ui@12367");# 设置密码
flush privileges;# 刷新

可以在shell中修改mysql的密码:

mysqladmin -uroot -p"Mysql@Password123" password "Yue@12345"

如何破解mysql的密码

1.修改mysql的配置文件,影响启动方式
/etc/my.cnf是mysql的主配置文件。

vi /etc/my.cnf

在这里插入图片描述

在文件中另起一行编写

skip-grant-tables

2.重启

systemctl restart mysqld

3.无密码登陆

mysql -uroot

4.改密码
使用root账户登录到mysql中,要修改mysql的密码:

update mysql.user set authentication_string=password("Mysql@Password123") where user="root" and host="local host";
flush privileges;

5.修改配置文件
退出mysql,回到shell中,将修改的主配置文件的跳过密码注释掉:

# skip-grant-tables

6.重启,使用新密码登录。

systemctl restart mysqld
mysql -uroot -p"Mysql@Password123"
用户登录
# mysql -u用户 -p密码 -P Mysql服务器的端口 数据库名称 -e执行 "命令" -h 远程服务器 
mysql -uroot -p"Mysql@Password123" -P 3306 mysql -e "show tables"

mysql支持远程登录
mysql服务器可以用命令登录另一台的客户机的mysql

mysql权限原理

mysql授权的语法:

grant 权限列表 on 库名.表名 to "用户名"@"客户机" [identified by "密码" with option参数];

权限列表有all所有权限(不包括授权权限)和select、update查询更新
数据库.表名有“*”(所有库下的所有表),比如web.* 表示web库下的所有表
客户端主机有: 192.168.1.* 该网段下的所有主机
with option参数:grant option授权选项

mysql权限示例

授予admin3对bbs库所有的表,具有所有权限但是不包含授权权限

grant all on bbs.* to "admin3"@"localhost" identified by "Mysql@Password123";

回收权限:
查看自己的权限

show grants\G

在这里插入图片描述
作为root还可以查看别人的权限:

show grants for admin3@"localhost"\G

回收某个用户的权限:

# revoke 权限列表 on 数据库名from 用户名@"客户端主机";
revoke all privileges on bbs.* from admin3@"localhost";

猜你喜欢

转载自blog.csdn.net/qq_45671732/article/details/113090910