如何備份遠端 MySQL 資料到本地

如何備份遠端 SQL/">MySQL 資料到本地
如何備份遠端 MySQL 資料到本地?
對於遠端的 MySQL 資料庫,如何定期將資料備份到本地呢?對於需要遠端備份資料的童鞋來說我想這個是經常需要用到的。
1、首先遠端資料庫必須支撐遠端連線,提供有供遠端連線的IP或者域名。
假設遠端資料庫域名為 mysql.example.com ,資料庫登入賬號為 username , 賬號密碼為 passwd 資料庫名稱為 database1 。 通過 mysqldump 命令來解決遠端備份,要在本機試用mysqldump命令,首先你本地得安裝MySQL。 Linux系統安裝 MySQL 教程可以參考以下教程:
- ofollow,noindex">如何在 Ubuntu 18.04 安裝 MySQL
- 如何在 Debian 9 安裝 MySQL
- 如何在 CentOS 7 安裝 MySQL
2、編寫匯出資料命令
mysqldump -h 遠端伺服器IP或域名 -u 遠端資料庫賬號 -p'遠端資料庫密碼' --default-character-set=utf8 資料庫名字 > /tmp/database_db.sql
MySQL 安裝後, mysqldump
命令預設路徑在 /usr/local/mysql/bin/
鍵入以下命令:
cd /usr/local/mysql/bin/ ./mysqldump -h mysql.example.com -u username -p'passwd' --default-character-set=utf8 database1 > /tmp/database_db.sql
執行完成後,你會發現在/tmp目錄下生成一個 database_db.sql
檔案。
3、定時備份匯出
linux 系統下很容易設定定時人員,通過 crontab
設定定時任務,例如設定每天凌晨1點10分進行資料備份到本地。
開啟終端,輸入 crontab -e
開啟 crontab
編輯視窗。
鍵入以下命令:
20 12 * * * /usr/local/mysql/bin/mysqldump -h mysql.example.com -u username -p'passwd' --default-character-set=utf8 database1 > /tmp/database_db.sql
定時每天的12點20執行,至此,定時任務完成。
這樣的定時任務有個問題,就是每次生成的檔案會覆蓋上次生成的備份資料檔案,如何解決這個問題?
可以通過對生成檔名稱加上時間戳的方式來解決,例如 database_db_201801010101.sql
。
date +%Y%m%d%H%M%S
以上命令可以輸出,類似如下:
在指令碼名稱中增加 date +%Y%m%d%H%M%S
,這樣每次生成的指令碼名稱就會追加上時間戳。
/usr/local/mysql/bin/mysqldump -h mysql.example.com -u username -p'passwd' --default-character-set=utf8 database1 > /tmp/database_db_`date +\%Y\%m\%d\%H\%M\%S`.sql
ps:注意如果直接“%”前需要加“\”進行轉義。
執行完成後,你會發現在/tmp目錄下面會有類似如下的檔案生成:
database_db_ 20181121172635.sql
寫在最後
如何備份遠端 MySQL 資料到本地的方式以上內容介紹完成,主要涉及到知識點有以下幾點:
- 1、本地本分環境安裝 MySQL。
- 2、使用 mysqldump 命令進行備份。
- 3、使用 crontab 命令實現定時備份。
- 4、使用反單引號(``) 執行日期命令獲取時間戳。
如果您有任何疑問,請在下面留言