千峰mysql dba数据库运维实战_开源数据库MySQL DBA运维实战4

DCL数据库控制语句

权限级别

Global level 所有库,所有表的权限。

Database level 某个数据库中的所有表的权限。

Table level 库中的某个表的权限

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

mysql用户管理

创建用户

CREATE USER user1@'localhost' IDENTIFIED BY 'QianFeng@123456';

用户名称 主机名 用户密码

验证方法

select * from mysql.user\G;

删除用户

DROP USER 'user1'@'localhost';

验证方法

select user from mysql.user;

修改用户密码

未进入数据库前

# mysqladmin -uroot -p'123' password 'new_password'

用户名 旧密码 新密码

进入数据库后

SET PASSWORD=password('new_password');

刷新权限

FLUSH PRIVILEGES;

mysql权限语法格式

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

权限列表:all: 所有权限(不包括授权权限)

select,update 查询更新

数据库.表名:*.*

web.*

web.stu_info

with_option参数 GRANT OPTION授权选项

mysql权限示例

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

GRANT ALL ON bbs.* TO admin3@'%' IDENTIFIED BY 'QianFeng@13910604684';

回收权限

SHOW GRANTS\G //查看自己的权限

SHOW GRANTS FOR admin3@'%'\G //查看别人的权限

------------------------------------------------------------

REVOKE 权限列表 ON 数据库名 FROM 用户名@‘客户端主机’

REVOKE ALL PRIVILEGES ON bbs.* FROM admin3@’%’;

日志管理日志分类图

1 错误日志 :启动,停止,关闭失败报错。rpm安装日志位置 /var/log/mysqld.log

2 通用查询日志:所有的查询都记下来。

3 二进制日志:实现备份,增量备份。只记录改变数据,除了select都记。

4 中继日志:读取主服务器的binlog,在本地回放。保持一致。

5 slow log:慢查询日志,指导调优,定义某一个查询语句,定义超时时间,通过日志提供调优建议给开发人员。

6 DDL log: 定义语句的日志。

Error Log

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

log-error=/var/log/mysqld.log //该字段,标记是否启动日志,以及日志位置。

如果哪天mysql服务起不来了,请来这个日志文件看看。

Binary Log

默认没有开启二进制日志

启动二进制日志

# vim /etc/my.cnf

log_bin //添加该字段。指启动二进制日志

server-id=2 //群集问题,必须指定该主机的序号。数字随意

# systemctl restart mysqld //重启数据库

测试

查看二进制日志文件当前状态

ls /var/lib/mysql/*bin* //查询二进制文件生成完成。

mysqlbinlog -v /var/lib/mysql/localhost-bin.000001 //查看二进制文件日志

# at 123 //找到一个记录位置

以下为日志记录

Slow Query Log

默认慢查询日志未开启

开启慢查询日志功能

vim /etc/my.cnf

slow_query_log=1 //启动慢查询日志,这个参数设置为ON,可以捕获执行时间超过一定数值的SQL语句。

long_query_time=3 //当SQL语句执行时间超过此数值时,就会被记录到日志中,建议设置为1或者更短。

#systemctl restart mysqld

查看慢查询日志文件

#ll /var/lib/mysql/*slow*

模拟慢查询

mysql>SELECT BENCHMARK(500000000,2*3);

#tail /var/lib/mysql/localhost-slow.log //验证慢查询日志

你可能感兴趣的:(千峰mysql,dba数据库运维实战)