MySQL 中继日志
什么是中继日志
从服务器I/O线程将主服务器的二进制日志读取过来记录到从服务器本地文件,然后从服务器SQL线程会读取relay-log日志的内容并应用到从服务器,从而使从服务器和主服务器的数据保持一致
show variables like '%relay%';
#结果
+---------------------------+----------------------------------+
| Variable_name | Value |
+---------------------------+----------------------------------+
| max_relay_log_size | 0 |
| relay_log | relay-mysql |
| relay_log_basename | /var/lib/mysql/relay-mysql |
| relay_log_index | /var/lib/mysql/relay-mysql.index |
| relay_log_info_file | relay-log.info |
| relay_log_info_repository | FILE |
| relay_log_purge | ON |
| relay_log_recovery | ON |
| relay_log_space_limit | 0 |
| sync_relay_log | 10000 |
| sync_relay_log_info | 10000 |
+---------------------------+----------------------------------+
max_relay_log_size
relay log 允许的最大值,如果该值为0,则默认值为 max_binlog_size (1G);
如果不为0,则 max_relay_log_size 则为最大的relay_log文件大小;
relay_log
定义 relay_log 的位置和名称,如果值为空,则默认位置在数据文件的目录;
relay_log_index
定义 relay_log 索引的位置和名称,记录有几个 relay_log 文件,默认为2个
cat /var/lib/mysql/relay-mysql.index
#结果
./relay-mysql.000241
./relay-mysql.000242
relay_log_info_file
定义 relay-log.info 的位置和名称
relay-log.info 记录 master 主库的 binary_log 的恢复位置和 从库 relay_log 的位置;
[root@localhost ~]# cat /var/lib/mysql/relay-log.info
#结果
7
./relay-mysql.000242
19421766
mysql-bin.000094
34300252
0
0
1
relay_log_purge
是否自动清空中继日志,默认值为1(启用);
relay_log_recovery
当slave从库宕机后,假如relay-log损坏了,导致一部分中继日志没有处理,则自动放弃所有未执行的relay-log,并且重新从master上获取日志,这样就保证了relay-log的完整性。默认情况下该功能是关闭的,将relay_log_recovery的值设置为 1时,可在slave从库上开启该功能,建议开启;
sync_relay_log
当设置为1时,slave的I/O线程每次接收到master发送过来的binlog日志都要写入系统缓冲区,然后刷入relay log中继日志里,这样是最安全的,因为在崩溃的时候,你最多会丢失一个事务,但会造成磁盘的大量I/O;
当设置为0时,并不是马上就刷入中继日志里,而是由操作系统决定何时来写入,虽然安全性降低了,但减少了大量的磁盘I/O操作。这个值默认是0,可动态修改;
sync_relay_log_info
这个参数和 sync_relay_log 参数一样。
相关文章
- 30条MySQL查询的优化方法
- Mysql授权允许远程访问解决Navicat for MySQL连接mysql提示客户端不支持服务器请求的身份验证协议;考虑升级MySQL客户端
- 【MySql】mysql 的权限体系介绍
- mysql优化专题」90%程序员都会忽略的增删改优化(2)
- MySQL使用小技巧
- MYSQL数据库如何赋予远程某个IP访问权限
- mysql日志
- 关于mysql删除记录后id顺序不连续的解决方法
- MYSQL错误解决:ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
- 使用Amoeba for mysql实现mysql读写分离
- 今天一天学习的MYSQL语句,立此存照
- mysql中的正则操作 匹配手机号,匹配中文,替换
- windows下为mysql添加日志
- MySQL内核月报 2015.02-TokuDB · 特性分析· 日志详解
- MySQL性能优化(二)InnoDB之日志文件
- Mysql连接报错:1130-host ... is not allowed to connect to this MySql server如何处理
- ERROR 3009 (HY000): Column count of mysql.user is wrong. Expected 45, found 43. Created with MySQL 5
- file /usr/share/mysql/charsets/README from install of MySQL-server-5.1.73-1.glibc23.i386 conflicts with file from package mysql-libs-5.1.73-8.el6_8.i686
- mysql 多日志表结果集合拼接存储过程
- java mysql驱动
- MYSQL数据库连接
- mysql_22 _ MySQL有哪些“饮鸩止渴”提高性能的方法?
- mysql 查看 脏页_MySQL:刷脏页
- mysql行转列 问题 SUM(IF(条件,列值,0))
- Mysql之安全清理mysql-slow.log
- Mysql入门技能树-聚合和分组
- Mysql原理篇之redo日志--上--09
- MySQL 日志系统
- mysql 数据类型