暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

MySQL 8.0 OCP 查漏补缺 -配置MySQL

宅必备 2021-06-02
1148


最近在考MySQL 8.0的OCP ,开个专题专门查漏补缺下

只是做备忘,有的概念只是一笔带过,具体可自行搜索

本文中配置和选项文件一个意思

1.通过日志文件监控

MySQL 包含如下日志

  • 错误日志(Error log) -默认开启

  • 二进制日志(Binary log) -8.0开始默认开启

  • 通用查询日志(General query log)

  • 慢查询日志(Slow query log)

  • 稽核日志(Audit log) -只在企业版上提供

2. 二进制日志文件

该文件在服务器重启,文件达到max_binlog_size,以及执行flush logs时会生成新的文件

使用binlog_expire_logs_seconds 或 expire_logs_days参数来自动清理

使用如下命令来手动清理

  • PURGE BINARY LOGS TO 'log_name'

  • PURGE BINARY LOGS BEFORE datetime_exp

也可以手动清理

  • 直接删除binlog

  • 更新index文件

3. 通用查询日志

记录所有操作,包括查询和连接

记录每个连接的时间和所有操作的进程号

通过log_output参数决定记录到file还是table,同时还会影响到慢日志,默认是file

4. 慢查询日志

  • 通过slow_query_log来开启

  • 使用long_query_time来决定多长算慢查询,默认10s,可以使用0.03来代表30ms

  • 使用min_examined_row_limit来决定至少扫描多少算慢查询,两种满足同时满足

  • 使用log_queries_not_using_indexes来记录未使用索引的语句,无论执行时间的长短

  • 使用log_slow_extra将更详细的内容写入慢日志文件,譬如排序临时表是否使用到,对写入到表的慢日志无效

  • 可以mysqldumpslow命令来来读取慢日志文件

  • 使用log_slow_admin_statements参数来记录管理类慢语句

  • 如果慢语句是从主库传输来的,默认是不记录的,使用log_slow_slave_statements来开启

  • log_throttle_queries_not_using_indexes 该参数决定每分钟记录未使用索引的SQL的数量上限,因为未使用索引的SQL可能会非常多,导致慢日志空间增长飞快。

  • 通过log_output参数决定记录到file还是table,同时还会影响到通用查询日志,默认是file



5. 清理日志

二进制日志清理看第二节,这里是另外三个日志

# cd var/lib/mysql 
# mv server.log server.old
# mv mysql-slow.log mysql-slow.old
# mysqladmin flush-log
复制

可以单独flush日志

  • FLUSH BINARY LOGS

  • FLUSH ERROR LOGS

  • FLUSH GENERAL LOGS

  • FLUSH SLOW LOGS


也可在公众站内搜索中回复  mysql 搜索相关内容

或直接打开个人网页搜索


http://www.zhaibibei.cn


往期专题包括:


  • Python 自动化运维

  • MySQL  安装

  • mysqldump命令详解

  • mysqlbinlog命令详解

  • xtrabackup工具详解

  • 打造属于自己的监控系统

  • Python爬虫基础

  • Oracle awr报告全解析

  • Oracle ASM全解析

  • Oracle Data Guard全解析

  • Oracle ClusterWare全解析

  • Oracle常见参数解析

  • Oracle常见故障处理

  • Oracle SQL优化案例


觉得文章不错的欢迎关注,转发,收藏,点赞~

文章转载自宅必备,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论