Mysql log文件之 relay log、master log info、relay log info

来源:互联网 发布:linux ioctlsocket 编辑:程序博客网 时间:2024/05/20 00:39
 在 MySQL 主从复制环( Replication )境中,备节点会产生几种文件,如下:
一 relay log  files
 relay log 和 binary log 日志类似, 记录了数据库的变化,由一系列文件组成, relaoy log 记录了主节点发来的数据库变化信息,并且由 I/O thread 写入。之后 SQL  thread 在备节点上执行 relay log 文件里的事件。

--查看 relay log

[root@test1 mysql_3306]# ll -htotal 1.7Gdrwx------ 2 mysql mysql 4.0K Sep 13 08:50 AAA-rw-rw---- 1 mysql mysql   56 Sep  7 04:02 auto.cnf-rw-rw---- 1 mysql mysql  75K Sep 14 02:39 error.log-rw-rw---- 1 mysql mysql 200M Sep 14 02:33 ibdata1-rw-rw---- 1 mysql mysql 500M Sep 14 02:33 ib_logfile0-rw-rw---- 1 mysql mysql 500M Sep  7 04:00 ib_logfile1-rw-rw---- 1 mysql mysql 500M Sep  7 04:00 ib_logfile2-rw-rw---- 1 mysql mysql 3.5K Sep 14 02:43 innodb_status.3585-rw-rw---- 1 mysql mysql 1.1K Sep 13 09:17 mybinlog.000001-rw-rw---- 1 mysql mysql  191 Sep 14 02:33 mybinlog.000002-rw-rw---- 1 mysql mysql   36 Sep 14 02:33 mybinlog.index-rw-r--r-- 1 mysql mysql 2.6K Sep 13 07:58 my.cnfdrwx------ 2 mysql mysql 4.0K Sep  7 04:00 mysql-rwxr-xr-x 1 root  root  1.6K Sep  7 04:01 mysqld-rw-rw---- 1 mysql mysql    5 Sep 14 02:33 mysql.pid-rw-rw---- 1 mysql mysql  744 Sep 13 09:02 mysql-relay-bin.000004-rw-rw---- 1 mysql mysql  714 Sep 13 09:17 mysql-relay-bin.000005-rw-rw---- 1 mysql mysql  120 Sep 14 02:33 mysql-relay-bin.000006-rw-rw---- 1 mysql mysql   75 Sep 14 02:33 mysql-relay-bin.indexdrwx------ 2 mysql mysql 4.0K Sep  7 04:00 performance_schema-rw-rw---- 1 mysql mysql  756 Sep 14 02:33 slow.log

备注:  mysql-relay-bin 打头的几个文件就是  relay log,其中 mysql-relay-bin.index 为索引文件; 默认在主数据目录下,格式为  host_name-relay-bin。

二 master info log
master info log  文件记录了备节点的连接信息,例如用户名,密码等。同时包括主节点信息,目前版本这个文件可以写到 MySQL 系统表中,但需要设置以下参数:
--设置备节点 my.cnf

master-info-repository=TABLE

备注:之后重启 mysql 服务

--查看 slave_master_info 表

mysql> select * from slave_master_info\G*************************** 1. row ***************************       Number_of_lines: 23       Master_log_name: mybinlog.000001        Master_log_pos: 944                  Host: 192.168.18.50             User_name: copy         User_password: 123456                  Port: 3306         Connect_retry: 60           Enabled_ssl: 0                Ssl_ca:             Ssl_capath:               Ssl_cert:             Ssl_cipher:                Ssl_key: Ssl_verify_server_cert: 0             Heartbeat: 1800                  Bind:     Ignored_server_ids: 0                  Uuid: c18578f6-9338-11e7-9833-080027eb4c97           Retry_count: 86400               Ssl_crl:            Ssl_crlpath:  Enabled_auto_position: 11 row in set (0.00 sec)
备注:这里密码 User_password 显示为明文。

三 relay log info log
relay log info log 文件记录了备节点应用 relay log 文件的进度情况,目前版本这个文件可以写到 MySQL 系统表中,但需要设置以下参数
--设置备节点 my.cnf

relay_log_info_repository=TABLE

备注:之后重启 mysql 服务

--查看 slave_relay_log_info 表

mysql> select * from slave_relay_log_info \G;*************************** 1. row ***************************  Number_of_lines: 7   Relay_log_name: ./mysql-relay-bin.000006    Relay_log_pos: 4  Master_log_name: mybinlog.000001   Master_log_pos: 944        Sql_delay: 0Number_of_workers: 4               Id: 11 row in set (0.00 sec)

注意问题:

1、如果修改删除master.info文件,复制会中断么?

不会,如果stop slave,然后start slave还是能正常启动起来,因为mysql已经记住这里面的信息了,但是当你重启mysql时,在start slave,这时重启失败,会提示你change  master to

2、master.info是在什么时候写入的呢?

change master to ..其他时候该文件不会被修改也不会被读取(重启除外).

3、relay-log.info 这个文件只有在重启时会被读取,但是只要这个文件存在存在,有数据写入,他就会变化;如果删除这个文件对复制也没有影响(重启除外),

一般情况主从切换后,需要reset slave,清除relay-log.info。


参考博文:

http://francs3.blog.163.com/blog/static/405767272014111093328416/

http://blog.csdn.net/z1988316/article/details/8179238


阅读全文
0 0
原创粉丝点击