1、binlog
mysql的binlog记录了数据库的所有操作,比如我新建一个数据库test,建立数据库时也开启了binlog,那么mysql会在var目录生成类似mysql-bin.000001文件,这个文件记录了对数据库test的所有操作sql命令,每个binlog文件默认大小为1G,超过了会自动换到mysql-bin.000002.mysql-bin.index记录了所有mysql-bin的名字。
mysql-bin.index示例:
./mysql-bin.000001 ./mysql-bin.000002 ./mysql-bin.000003 |
数据主从备份其实就是master把binlog发给slave,然后slave在本地执行这些SQL语句。
2、master.info
master.info文件存在于slave的var目录,记录了master的信息。
master.info示例:
15 mysql-bin.000003 //master的binlog文件 1176 //偏移值 rep1 //master主机名、也可以是IP rep //用户名 rep //密码 3306 //端口 60 0
0 |
3、relay-log.info
relay-log.info文件存在于slave的var目录,记录了slave执行binlog文件情况的信息。
relay-log.info示例:
./Ping-relay-bin.000010 //slave存放master的binlog的文件 251 //slave偏移值 mysql-bin.000003 //master的binlog文件 1176 //master的偏移值
|
从mater的mysql-bin.000003发送信息写到Ping-relay-bin.000010文件里,slave再从Ping-relay-bin.000010取SQL语句执行。4、Ping-relay-bin.index
Ping-relay-bin.index文件位于slave的var目录,记录了Slave将master所有已经转换为relay-bin,并在执行的信息。
Ping-relay-bin.index示例:
./Ping-relay-bin.000009 ./Ping-relay-bin.000010 |
从master传送过来的binlog首先在slave端转换为类似Ping-relay-bin.000009的文件(文件里面其实存储就是SQL语句),然后再在本地执行这个SQL语句。
阅读(1184) | 评论(1) | 转发(0) |