其他分享
首页 > 其他分享> > 第十八周

第十八周

作者:互联网

 

1、总结mysql常见的存储引擎以及特点。

mysql常用的存储引擎MyISAM和InnoDB

MyISAM引擎特点

InnoDB引擎特点

 

2、总结MySQL查询缓存优化总结。

1.首先查看命中率是否解释,如果不接受就下一步。

2.判断是否大部分查询使不可缓存,检查query_cache_limit是否够大,单个查询是否超过限定的大小,如果是就增加改变量的值,如果不是就继续下一步。

3.判断是否发生很多验证工作,如果是再检查缓存是否碎片化。

4.检查缓存是否启动,没有启动则启动缓存,,

3、MySQL日志各类总结。

事物日志:transaction log

错误日志

错误文件路径

通用日志

通用日志相关设置

general_log=ON|OFF                       #开关

general_log_file=HOSTNAME.log   #日志名称

log_output=TABLE|FILE|NONE       #格式,table格式,写在mysql中,不写在操作系统中,general_log_file该选项就不起作用

慢查询日志

慢查询相关变量

slow_query_log=ON|OFF                                      #开启或关闭慢查询,支持全局和会话,只有全局设置才会生成慢查询文件

long_query_time=N                                               #慢查询的阀值,单位秒

slow_query_log_file=HOSTNAME-slow.log           #慢查询日志文件

log_slow_filter = admin,filesort,filesort_on_disk,full_join,full_scan,

query_cache,query_cache_miss,tmp_table,tmp_table_on_disk

#上述查询类型且查询时长超过long_query_time,则记录日志

log_queries_not_using_indexes=ON                  #不使用索引或使用全索引扫描,不论是否达到慢查询阀值的语句是否记录日志,默认OFF,即不记录

log_slow_rate_limit = 1                                      #多少次查询才记录,mariadb特有

log_slow_verbosity= Query_plan,explain         #记录内容

log_slow_queries = OFF                                  #同slow_query_log,MariaDB 10.0/MySQL 5.6.1 版后已删除

慢查询分析工具

mysqldumpslow -s c -t 10 /data/mysql/slow.log

二进制日志

功能:通过“重放”日志文件中的事件来生成数据副本

注意:建议二进制日志和数据文件分开存放

二进制日志文件的构成

有两类文件

1.日志文件:mysql|mariadb-bin.文件名后缀,二进制格式,如: mariadb-bin.000001

2.索引文件:mysql|mariadb-bin.index,文本格式

二进制日志相关的服务器变量:

sql_log_bin=ON|OFF:                                   #是否记录二进制日志,默认ON,支持动态修改,系统变量,而非服务器选项

log_bin=/PATH/BIN_LOG_FILE:                  #指定文件位置;默认OFF,表示不启用二进制日志功能,上述两项都开启才可以

binlog_format=STATEMENT|ROW|MIXED:#二进制日志记录的格式,默认STATEMENT

max_binlog_size=1073741824:                  #单个二进制日志文件的最大体积,到达最大值会自动滚动,默认为1G

#说明:文件达到上限时的大小未必为指定的精确值

binlog_cache_size=4m                                 #此变量确定在每次事务中保存二进制日志更改记录的缓存的大小(每次连接)

max_binlog_cache_size=512m                    #限制用于缓存多事务查询的字节大小。

sync_binlog=1|0:                                         #设定是否启动二进制日志即时同步磁盘功能,默认0,由操作系统负责同步日志到磁盘

expire_logs_days=N:                                  #二进制日志可以自动删除的天数。 默认为0,即不自动删除

二进制日志相关配置

查看mariadb自行管理使用中的二进制日志文件列表,及大小

SHOW {BINARY | MASTER} LOGS 

查看使用中的二进制日志文件

SHOW MASTER STATUS

在线查看二进制文件中的指定内容

SHOW BINLOG EVENTS [IN 'log_name'] [FROM pos] [LIMIT [offset,] row_count]

范例:

show binlog events in 'mysql-bin.000001' from 6516 limit 2,3

 

mysqlbinlog:二进制日志的客户端命令工具,支持离线查看二进制日志

命令格式:

mysqlbinlog [OPTIONS] log_file…

--start-position=# 指定开始位置

--stop-position=#

--start-datetime=  #时间格式:YYYY-MM-DD hh:mm:ss

--stop-datetime= 

--base64-output[=name]

-v -vvv

范例:

mysqlbinlog --start-position=678 --stop-position=752 /var/lib/mysql/binlog.000003 -v

mysqlbinlog  --start-datetime="2018-01-30 20:30:10"   --stop-datetime="2018-01-30 20:35:22" mariadb-bin.000003 -vvv

标签:缓存,log,第十八,二进制,查询,query,日志
来源: https://blog.csdn.net/hfhshwj/article/details/115603049