mysql-学习-5-20170511

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql-学习-5-20170511相关的知识,希望对你有一定的参考价值。

mysql-学习-5-20170511

mysql基础二

技术分享

技术分享

审计日志的使用需要购买企业版才能够支持

5.7里面加入了DDL日志

8.0里面在DDL日志中引入了原子性

技术分享

技术分享

general_log是常规日志

 比较重要的是慢日志,错误日志,二进制日志

技术分享

 配置了的话,这样配置:
log_error=error.log 
如果不配置的话,默认是下面的这样的显示方式:
$datadir/`hostname`.err  
 
cp $datadir/error.log /backup/error.log
diff_err=`diff /backup/error.log $datadir/error.log` 

判断是否有增长,如果有增长的情况需要配置到zabbix 的监控中

 

general-log这块并没有网上说的那么可怕,这是顺序类型的IO开销,如果开开的话,应该问题也不大,大概占据了mysql 5%的开销

慢日志可以逐步慢慢的调小,建议如果小于一秒就不要记录了

long_query_time=1  

锁等待的时间是不记录在longquerytime里面的,这点要注意!!!

只是把

 

****对于慢日志及general_log怎么维护?****

每天可以进行一次移走的操作

mv slow.log /path/slow-`date +%Y-%m%-%d` 

mv走了后,需要进行一次下面的操作:

mysql -e "flush logs" 

slow_log,建议每天收集后需要发给相关人员

 

binlog:

需要设置个过期时间,命令:--expire-log-days 一般设置为7天的即可

需要全备和binlog

 

relay_log:

技术分享

从主库拉过来,放到本地执行的日志

 

技术分享

一个事务不能跨binary log,如果设置了128Mb但是看到了的binlog比128Mb大 也很正常,就是因为事务不能跨越binlog的记录

 

binlog多的情况下,重启数据库很慢

binlog的形态如下面的样子:

mysql-bin.000001 
 
show processlist ; id 
flush logs; 

 

技术分享

Row格式
Statement VS Row
MIXED 混合的格式
 
 X协议

Innodb Cluster

技术分享

技术分享

不推荐使用binlog_do_db

查询binlog的一些事件:

技术分享

 
技术分享

 

 binary log: 前4个节字是一个Magic Number 
【管理员】吴炳锡(82565387)  21:29:00
bin 
【管理员】吴炳锡(82565387)  21:29:35
接下是一个FDC Event
【管理员】吴炳锡(82565387)  21:29:49
前19节字又固定的

技术分享

行格式二进制显示

-v --base64-output=decode-rows

 

 技术分享

 purge binary logs before ‘2017-05-01 00:00:00‘; 把5月1日之前的删除

 官方花钱购买的审计日志:

技术分享

技术分享

这是xml格式的

需要下载个xml格式的解析器即可查看,用python可以查看

 

MySQL日常使用的命令:

技术分享

sys库由叶老师具体讲解

++++++++++++++++++++++

【冒泡】A589-张有海-北京(250698918)  21:49:18
老师有疑问:这个general 与 binlog都是可以记录SQL操作?另有什么本质的区别呢
【管理员】吴炳锡(82565387)  21:50:37
Select , update, ,连接到MySQL输的错的SQL语句等都 会记录到general log中
binlog只会记录数据库变化的日志不会记录select语句,只记录insert update 等
++++++++++++++++++++++

现在就是推荐使用row格式

 

技术分享

重点可以查看一下下面的这些表:

tables  columns  processlist  innodb 

技术分享

 

  技术分享

 技术分享

 技术分享

 

技术分享

 restart = stop  -> start

 

技术分享

 技术分享

show open tables;

 

 技术分享

技术分享

技术分享

show table status from zst like "u%";

 

help show;

技术分享

技术分享

技术分享

技术分享

 

















以上是关于mysql-学习-5-20170511的主要内容,如果未能解决你的问题,请参考以下文章

MySQL学习

MySQL学习笔记六

MySQL学习总结之路(第五章:函数)

MySQL超详细学习教程,2023年硬核学习路线

MySQL超详细学习教程,2023年硬核学习路线

MySQL学习笔记之六:MySQL日志