签到天数: 2624 天 连续签到: 3 天 [LV.Master]至尊海神IIIIII
|
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语句。 |
|