文章列表

MySQL-GTID主从复制

概念

全局事务标识符(GTID) 的全称为Global Transaction Identifier,由server_uuid和事务id组成,是在整个复制环境中对一个事务的唯一标识。

作用

主从故障切换中,比起bin_log+pos的传统方式,因为每个事物都对应唯一GTID,不需要指定二进制文件名和位置减少手工干预和降低服务故障时间,以前做过的不再执行,可以节约时间。

阅读更多

MySQL-主从复制-半同步复制

半同步复制(semi sync):master每commit一个事务(简单来说就是做一个改变数据的操作),要确保slave接受完主服务器发送的二进制日志文件并写入到自己的中继日志relay log里,然后会给master ACK确认信号,告诉对方已经接收完毕,这样master才能把事物成功commit。 解决了异步模式里主从可能存在数据不一致的问题,主库有数据,而从库没有接收到二进制日志,保证了master-slave的数据绝对的一致(但是以牺牲master的性能为代价),等待ACK确认时间也是可以调整的,默认10s。 在这里插入图片描述 在这里插入图片描述

阅读更多

MySQL-备份和还原

mysql数据备份工具

mysqldump工具 mysqldump是mysql自带的备份工具,目录在bin目录下面:/usr/local/mysql/bin/mysqldump;支持基于innodb的热备份,可是因为是逻辑备份,因此速度不是很快,适合备份数据比较小的场景,Mysqldump彻底备份+二进制日志能够实现基于时间点的恢复。

阅读更多

MySQL-日志-详解事务执行流程-刷盘-redo-undo

日志是用来排错,做数据分析,了解程序运行情况的。

错误日志

如果不知道错误日志的位置,可以查看变量。

mysql>show variables like '%log%';
#模糊查询log的位置,里面有log_error
mysql>show variables like 'log_error'; #精准查询错误日志位置
+---------------+-----------------------------+
| Variable_name | Value                       |
+---------------+-----------------------------+
| log_error     | ./localhost.localdomain.err |
+---------------+-----------------------------+

慢查询日志

慢查询日志:记录在 MySQL 中响应时间超过阀值的语句,指运行时间超过long_query_time值的 SQL。

阅读更多