MySQL Binlog Server:是利用某个工具,把线上活跃的库的日志拉取到本地进行备份。在MySQL 5.6以后,可以利用mysqlbinlog这个命令去把远程机器的日志备份到本地目录,从而达到增量或是日志安全方面的备份。
做好MySQL日志的备份,是数据安全的一个重要保证。以前通过写程序来实现,从MySQL 5.6出现以后,DBA同步有福了,不用写程序了。
下面说一下binlog Server怎么构建。
利用mysql 5.6的mysqlbinlog命令,可以把远程的binlog完全镜象一份放到本地,方法如下:
Shell
/ usr / local / mysql / bin / mysqlbinlog - R – raw – host = 192.168.11.100 – user = 'repl' – password = 'repl4slave' – stop - never mysql - bin . 000001 & amp ; |
解释一下:
-R -read-from-remote-server 表示从远程机器上读取binlog,要确保远程mysql存储,需要提供-host, -user, -password参数
-raw 以binlog格式存储日志,方便后期使用
-stop-never 一直连接到远程的server上读取日志,直接到远程的server关闭后才会退出。或是被pkill掉
mysql-bin.0000001 这个日志名表示从那个日志开始读取
如果需要启动多个binlog server,需要给binlog server指定server-id(默认是65535),可以利用 -stop-never-slave-server-id变更
启动一个server-id为1的binlog server:
Shell
/ usr / local / mysql / bin / mysqlbinlog - R – raw – host = 192.168.11.100 – user = 'repl' – password = 'repl4slave' – stop - never – stop - never - slave - server - id = 1 mysql - bin . 000003 & amp ; |
启动一个server-id为2的binlog server:
Shell
/ usr / local / mysql / bin / mysqlbinlog - R – raw – host = 192.168.11.100 – user = 'repl' – password = 'repl4slave' – stop - never – stop - never - slave - server - id = 2 mysql - bin . 000003 & amp ; |
思考:
这种binlog server怎么关闭才算安全呢?