从5.6版本开始,可以利用 mysqlbinlog命令把远程机器的日志备份到本地目录,这样就更加方便快捷的实现一个binlog server。
环境介绍:192.168.56.100是备份服务器,192.168.56.101是需要备份binlog的MySQL服务器。
重点参数介绍:
-R,--read-from-remote-server 代表从远程MySQL服务器上读取binlog。
-raw 以binlog格式存储日志,方便后期使用。
--stop-never 连接到远程的MySQL服务器上读取日志,直到远程的服务关闭后才会退出,或者被kill掉。
mysql-bin.*** 代表从哪个日志开始备份。
--stop-never-slave-server-id mysqlbinlog 相当于从库拉取主库的日志,所有需要server-id来做一个唯一的标识。
操作如下:
现在56.100 创建一个binlog的备份目录:
mkdir -p /data/binlogbak
再在56.100上执行远程复制binlog命令,从 mysql-binlog.00008 开始备份,运行下命令时,会把文件传到此文件下,所以要切换到 /data/binlogbak 下运行:
mysqlbinlog --raw --read-from-remote-server --stop-never --host=192.168.56.101 --port=3306 --user=root --password=Aa123456 mysql-binlog.00008