DCL 授权与日志

一、DCL

数据控制语言,主要用做用户的创建、管理,权限的授予、撤销等操作。

1、权限级别

① Global level:对所有库、所有表的权限;

② Database level:某个数据库中所有表的权限;

③ Table level:库中某个表的权限;

④ Column level:表中某个字段的权限。

2、用户管理

(1) 创建用户

用户的创建和删除等操作,必须要 root 用户才能完成。

语法:create  user  用户名@ip  identified  by  'password';

切换用户登录数据库:

(2) 修改密码

语法:alter  user  用户名@ip  identified  by  'password';

(3) 删除用户

语法:drop user 用户名@ip;

3、权限管理

超管 root 可对普通用户授予权限,使其对数据库有操作权限。

DDL 权限:create、alter、drop…

DML 权限:insert、update、delete

DQL 权限:select

(1) 授予权限

语法:grant  权限名  on  库名.表名  to  username@ip

超管查看用户权限:show  grants  for  username;

普通用户对表的操作,仅限于超管授予的权限

● 授予所有权限:

语法:grant all privileges on 库名.*  to 用户名@ip;

* 表示通配该库下的所有表

(2) 撤销权限

语法:revoke  权限名  on  库名.表名  from  用户名@ip;

撤销全部权限:revoke  all  privileges  on  库名.*  from  用户名@ip;

(3) 远程登录操作

create  user  用户名@'%'  identified  by  'password';

% 代表通配,表示所有服务器都可以远程登录。% 也可以替换成指定 ip。

grant  all  privileges  on  *.*  to  用户名@'%'  with  grant  option;

*.* 表示所有库及所有表格

4、视图

映射表单中的一部分数据

创建视图:create  view  视图名  as  select  列名  from  表名;

(可以加上 where condition 对视图进行条件筛选)

查看视图:select  *  from  视图名;

对视图进行插入等操作,也会影响到原表。

二、日志

1、日志分类

① 错误日志(Error log):记录 mysql 系统启动、通知、关闭等报错信息;

② 通用查询日志(General query log):记录所有的查询;

③ 二进制日志(Binary log):实现备份,增量备份。只记录改变数据,除了select ;

④ 中继日志(Relay log):读取主服务器的 binlog,在本地回放。保持一致;

⑤ slow log: 慢查询日志,指导调优;

⑥ DDL log: 定义语的日志。

2、Error log

进入主配置文件,观察日志是否启动:vim /etc/my.conf

错误日志位置:

该字段标记了是否启动日志,以及日志的位置,如果 mysql 服务不启动,可以到这个日志来查看。

3、Binary Log

二进制日志,默认不开启

(1) 开启二进制日志功能

如果是 mysql 则修改 my.cnf 文件:vim /etc/my.cnf 

如果是 MariaDB 则要在 /etc/my.cnf.d/server.cnf 里修改文件。

找到 [mysqld] ,写入如下内容:

写入完毕后重启数据库:systemctl restart mariadb

在数据库中查询,可以发现二进制日志已开启:

在 /var/lib/mysql/ 下也可以查看到二进制日志文件:

(2) 查看二进制日志文件

mysqlbinlog  -v  /var/lib/mysql/bin-log.000001

查看二进制日志文件是否有记录改变的数据:

先创建一个新的数据库:

在二进制日志文件中可查看到已记录下创建数据库的信息

4、Slow Query Log

慢查询日志,默认不开启

(1) 开启慢查询日志功能

在 MariaDB 主配置文件 /etc/my.cnf.d/server.cnf 里写入配置

重启服务器:systemctl restart mariadb

在 /var/lib/mysql/ 下也可以查询,可以发现已经生成慢查询日志文件

(2) 模拟慢查询

select benchmark(100000000,2*3);

通过这条测试语句模拟一个长时间的查询,benchmark(查询次数,运算内容)

查看慢查询日志文件,发现已记录下这条查询结果,可以提交给开发人员进行相应优化。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值