为什么mysql在max_relay_log_size = 1G时以100 at的速度旋转中继日志?
如果要超过max_relay_log_size变量的值,mysql应该旋转日志文件吗?
-rw-r----- 1 mysql mysql 255 Jun 30 19:14 mysqld-relay-bin.000011
-rw-r----- 1 mysql mysql 104858982 Jun 30 19:18 mysqld-relay-bin.000012
-rw-r----- 1 mysql mysql 255 Jun 30 19:18 mysqld-relay-bin.000013
-rw-r----- 1 mysql mysql 22305643 Jun 30 19:20 mysqld-relay-bin.000014
-rw-r----- 1 mysql mysql 208 Jun 30 19:20 mysqld-relay-bin.000015
-rw-r----- 1 mysql mysql 84483918 Jun 30 19:23 mysqld-relay-bin.000016
-rw-r----- 1 mysql mysql 255 Jun 30 19:23 mysqld-relay-bin.000017
-rw-r----- 1 mysql mysql 104981742 Jun 30 19:26 mysqld-relay-bin.000018
-rw-r----- 1 mysql mysql 255 Jun 30 19:26 mysqld-relay-bin.000019
-rw-r----- 1 mysql mysql 104862635 Jun 30 19:30 mysqld-relay-bin.000020
-rw-r----- 1 mysql mysql 255 Jun 30 19:30 mysqld-relay-bin.000021
-rw-r----- 1 mysql mysql 104862297 Jun 30 19:35 mysqld-relay-bin.000022
-rw-r----- 1 mysql mysql 255 Jun 30 19:35 mysqld-relay-bin.000023
-rw-r----- 1 mysql mysql 105150321 Jun 30 19:38 mysqld-relay-bin.000024
-rw-r----- 1 mysql mysql 255 Jun 30 19:38 mysqld-relay-bin.000025
-rw-r----- 1 mysql mysql 104861615 Jun 30 19:43 mysqld-relay-bin.000026
-rw-r----- 1 mysql mysql 255 Jun 30 19:43 mysqld-relay-bin.000027
-rw-r----- 1 mysql mysql 2467221 Jun 30 19:43 mysqld-relay-bin.000028
-rw-r----- 1 mysql mysql 87680 Jun 30 19:43 mysqld-relay-log.index
-rw-r----- 1 mysql mysql 84 Jun 30 19:43 relay-log.info
binlog_format = ROW
log-bin = /data/binlogs/mysql-bin
log-bin-index = /data/binlogs/mysql-bin.index
innodb_log_file_size = 1G
max_binlog_size = 2G
relay-log-info-file = /data/binlogs/relay-log.info
relay-log-index = /data/binlogs/mysqld-relay-log.index
relay-log = /data/mysql/mysqld-relay-bin
max_relay_log_size = 1G
relay_log_space_limit = 0
expire_logs_days=14
innodb_locks_unsafe_for_binlog=1
Variable_name Value
------------------------- --------------------------------------
max_relay_log_size 1073741824
relay_log /data/binlogs/mysqld-relay-bin
relay_log_basename /data/binlogs/mysqld-relay-bin
relay_log_index /data/binlogs/mysqld-relay-log.index
relay_log_info_file /data/binlogs/relay-log.info
relay_log_info_repository FILE
relay_log_purge ON
relay_log_recovery OFF
relay_log_space_limit 0
sync_relay_log 10000
sync_relay_log_info 10000 mysql Ver 14.14 Distrib 5.7.18, for Linux (x86_64) using EditLine wrapper
现在几乎没有中继日志,是因为当从服务器应用完数据后,中继日志就会被自动清除,这意味着second behind master = 0?
drwxr-xr-x 2 mysql mysql 4096 Jul 1 20:59 ./
drwxr-xr-x 7 mysql mysql 98 Feb 19 14:57 ../
-rw-r----- 1 mysql mysql 177 Jul 1 13:41 mysql-bin.000001
-rw-r----- 1 mysql mysql 1073979508 Jul 1 14:14 mysql-bin.000002
-rw-r----- 1 mysql mysql 1122063688 Jul 1 14:36 mysql-bin.000003
-rw-r----- 1 mysql mysql 1073760829 Jul 1 15:21 mysql-bin.000004
-rw-r----- 1 mysql mysql 1073747080 Jul 1 16:11 mysql-bin.000005
-rw-r----- 1 mysql mysql 1076996640 Jul 1 17:02 mysql-bin.000006
-rw-r----- 1 mysql mysql 1073742632 Jul 1 17:51 mysql-bin.000007
-rw-r----- 1 mysql mysql 1073742448 Jul 1 18:42 mysql-bin.000008
-rw-r----- 1 mysql mysql 1073951285 Jul 1 19:29 mysql-bin.000009
-rw-r----- 1 mysql mysql 1073741986 Jul 1 20:17 mysql-bin.000010
-rw-r----- 1 mysql mysql 911962461 Jul 1 20:59 mysql-bin.000011
-rw-r----- 1 mysql mysql 341 Jul 1 20:17 mysql-bin.index
-rw-r----- 1 mysql mysql 255 Jul 1 20:56 mysqld-relay-bin.000754
-rw-r----- 1 mysql mysql 45170435 Jul 1 20:59 mysqld-relay-bin.000755
-rw-r----- 1 mysql mysql 76 Jul 1 20:56 mysqld-relay-log.index
-rw-r----- 1 mysql mysql 86 Jul 1 20:59 relay-log.info我在mysql.log文件option 'max_binlog_size': unsigned value 2147483648 adjusted to 1073741824中看到了以下警告。
发布于 2017-07-22 16:06:34
我想这是基于以前32位的限制。一旦文件大于最大值,它将停止添加。这意味着它会稍微超过1G。如果超过2G,则32位编译器中的签名/未签名将出现问题。对于一个二进制日志来说,1G就足够了;新的缺省值似乎是100米,这也很好。
至于max_relay_log_size = 1G成为100米的极限,我不知道。但是,再一次,这不重要。额外的255个字节文件让我怀疑您的代码是否经常执行某种FLUSH LOGS。
https://dba.stackexchange.com/questions/177721
复制相似问题