共計 2284 個字符,預計需要花費 6 分鐘才能閱讀完成。
這篇文章主要介紹“怎么實現 MySQL mysqlbinlog 遠程備份 binary log”,在日常操作中,相信很多人在怎么實現 MySQL mysqlbinlog 遠程備份 binary log 問題上存在疑惑,丸趣 TV 小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”怎么實現 MySQL mysqlbinlog 遠程備份 binary log”的疑惑有所幫助!接下來,請跟著丸趣 TV 小編一起來學習吧!
對于 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”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注丸趣 TV 網站,丸趣 TV 小編會繼續努力為大家帶來更多實用的文章!