#我的第二十三堂云计算课# #开源数据库MySQL DBA运维实战 第4章 SQL3 (一)DCL#

第4章 SQL3 (一)DCL

一、权限级别:
1、Global level:所有库,所有表的权限
2、Database level:某个数据库中的所有表的权限
3、Table level:库中的某个表的权限
4、Column level:表中的某个字段,的权限
二、mysql用户管理:
1、创建用户:create user user1@‘localhost’ identified by ‘mysql密码’
(1)create :创建(关键字)
(2)user :用户(关键字)
(3)@ :分隔符(关键字)
(4)‘localhost’ : 允许登录的主机
(5)identified by :身份认证(关键字)
(6) ‘mysql密码’ :用户mysql的密码
2、删除用户:drop user user1 或者 drop user user1@‘localhost’
3、修改用户密码:
(1)root修改自己的密码:
例1:mysqladmin -uroot -p‘原密码’ password ‘新密码’
例2:
set password=password(‘新密码’)
flush privileges //刷新权限
(2)丢失root用户密码:
①修改mysql启动设置:vim /etc/my.cnf
在vim中找到【mysqld】在其下面写入:
skip-grant-tables
②重启mysql,无密码登录:
systemctl restart mysqld
mysql //无密码登录
mysql> update mysql.uesr set authentication_string=password(‘QianFeng@123’) where user=‘root’ and host=‘localhost’ //修改密码
mysql> flush privileges
③ 修改mysql启动设置:注释掉跳过密码
三、mysql权限原理:
语法: grant 权限列表 on 库名.表名 to ‘用户名’@‘客户端主机’ [identified by ‘密码’ with option参数];
1、all:所有权限(不包括授权权限)
2、数据库.表名:
(1). :所有库下所有表
(2)web.:web库下的所有表
(3)web.a:web库下的a表
3、客户主机:% :所有主机
4、whit option参数:授权选项
四、mysql授权示例:
1、赋予权限:
(1)目标:授予user1 对aaa库 所有的表,具有所有权限(不包含授权)
grant all on aaa .
to user1@’%’ identified by ‘QianFeng@123’ //root账户授权
(2)root用户创建:create user user1@’%’ identified by ‘QianFeng@123’;
(3)root账户授权:grant all on aaa .* to user1@’%’ identified by ‘QianFeng@123’;
(4)使用测试账户操作数据库:
mysql -uuser1 -p’QianFeng@123’
mysql> create database aaa;
mysql>create table aaa.t1 (id int);
例图:
在这里插入图片描述
在这里插入图片描述
2、回收权限:
(1)查看权限:
show grants\G //查看自己的权限
show grants for user1@’%’\G //查看他人的权限
(2)回收权限:
语法:revoke 权限列表 on 数据库名 from 用户名@客户端主机
revoke all on aaa.* from user1@’%’
(3)删除用户(mysql5.7版本):drop user user1
例图:
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值