这篇文章主要介绍“怎么实现MySQL mysqlbinlog远程备份binary log”,在日常操作中,相信很多人在怎么实现MySQL mysqlbinlog远程备份binary log问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么实现MySQL mysqlbinlog远程备份binary log”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
创新互联建站为客户提供专业的成都网站建设、成都网站设计、程序、域名、空间一条龙服务,提供基于WEB的系统开发. 服务项目涵盖了网页设计、网站程序开发、WEB系统开发、微信二次开发、手机网站制作设计等网站方面业务。
对于MySQL数据库二进制日志的实时备份,无疑是一个明智的策略,从MySQL5.6开始,mysqlbinlog支持将远程服务器上的binlog实时复制到本地服务器上。
两台测试数据库:192.168.8.50和192.168.8.63,现将192.168.8.63上的binary log备份至192.168.8.50机器。
1、登录192.168.8.63数据库查看binlog
mysql> show binary logs; +------------------+-----------+ | Log_name | File_size | +------------------+-----------+ | mysql-bin.000001 | 143 | | mysql-bin.000002 | 143 | | mysql-bin.000003 | 143 | | mysql-bin.000004 | 143 | | mysql-bin.000005 | 916 | | mysql-bin.000006 | 120 | +------------------+-----------+
2、在192.168.8.50进行远程备份
mysqlbinlog --raw --read-from-remote-server --stop-never --host=192.168.8.63 --port=3306 --user=root --password=mysql mysql-bin.000001 --result-file=/backup/binlog_bakcup/
--raw:binlog日志会以二进制格式存储在磁盘中,如果不指定该选项,则会以文本形式保存
--read-from-remote-server:用于备份远程服务器的binlog。如果不指定该选项,则会查找本地的binlog
--stop-never:mysqlbinlog可以只从远程服务器获取指定的几个binlog,也可将不断生成的binlog保存到本地。指定此选项,代表只要远程服务器不关闭或者连接未断开,mysqlbinlog就会不断的复制远程服务器上的binlog
--host:远程备份的数据库的IP地址
--port:远程备份的数据库的端口号
--user:需要REPLICATION SLAVE权限
--result-file:备份目录
mysql-bin.000001:从这个日志开始备份:
查看备份情况:
[mysql@mysql5 binlog_bakcup]$ cd /backup/binlog_bakcup [mysql@mysql5 binlog_bakcup]$ ll total 24 -rw-r----- 1 mysql mysql 143 Aug 3 10:26 mysql-bin.000001 -rw-r----- 1 mysql mysql 143 Aug 3 10:26 mysql-bin.000002 -rw-r----- 1 mysql mysql 143 Aug 3 10:26 mysql-bin.000003 -rw-r----- 1 mysql mysql 143 Aug 3 10:26 mysql-bin.000004 -rw-r----- 1 mysql mysql 916 Aug 3 10:26 mysql-bin.000005 -rw-r----- 1 mysql mysql 120 Aug 3 10:26 mysql-bin.000006
3、形成备份脚本
#!/bin/sh MBL=/usr/local/mysql/bin/mysqlbinlog MYSQLHOST=192.168.8.63 MYSQLPORT=3306 MYSQLUSER=root MYSQLPASS=mysql BACKUPDIR=/backup/binlog_bakcup DATADIR=/mysql/data cd $BACKUPDIR echo "Starting live binlog backup" $MBL --raw --read-from-remote-server --stop-never --host=$MYSQLHOST --port=$MYSQLPORT --user=$MYSQLUSER --password=$MYSQLPASS mysql-bin.000001 --result-file=/backup/binlog_bakcup/ mysql-bin.000001
4、后台执行备份脚本
nohup /home/mysql/bin/binlog_backup.sh > /home/mysql/log/binlog_backup.log 2>&1
到此,关于“怎么实现MySQL mysqlbinlog远程备份binary log”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!
售后响应及时
7×24小时客服热线数据备份
更安全、更高效、更稳定价格公道精准
项目经理精准报价不弄虚作假合作无风险
重合同讲信誉,无效全额退款