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

 在 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 -h
total 1.7G
drwx------ 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.cnf
drwx------ 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.index
drwx------ 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: 1
1 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: 0
Number_of_workers: 4
               Id: 1
1 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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值