第一步,備份mysql數據庫
/usr/bin/mysqldump -h127.0.0.1 -P3306 -uroot -ppassword --all-databases > /home/mysql/backup/xxx.sql.bak
第二步,將備份文件發送到遠端服務器
scp -P 22 /home/mysql/backup/xxx.sql.bak root@192.168.40.9:/home/mysql/backup
是MySQL數據庫管理系統的命令行實用程序,用于創建數據庫的邏輯備份。它能夠導出數據庫的結構(如表結構、視圖、觸發器等)以及表中的數據為 SQL 格式的文本文件。
導出
# 導出demo數據庫里面的users表的表數據和表結構
> mysqldump -uroot -h127.0.0.1 -proot -P3306 demo users> /tmp/user.sql
# 只導出demo數據庫的表結構
> mysqldump -uroot -proot --no-data --databases test>s1.sql
# 導出包括系統數據庫在內的所有數據庫
> mysqldump -uroot -proot --all-databases> /tmp/all.sql
# 導出多張表
> mysqldump -uroot -proot --databases test --tables t1 t2>two.sql
# 只導出表結構不導表數據,添加“-d”命令參數
> mysqldump -uroot -h127.0.0.1 -proot -P3306 -d demo users>/tmp/user-table.sql
# 只導出表數據不導表結構,添加“-t”命令參數
> mysqldump -uroot -h127.0.0.1 -proot -P3306 -t demo users>/tmp/user-data.sql
導入
# 腳本導入
mysql -uroot -proot -h127.0.0.1 -P3306 test
# 命令行導入
mysql> use test;
mysql> source /home/test/database.sql
使用SCP將備份的sql文件,傳送到遠端服務器。
Linux scp命令用于Linux之間復制文件和目錄。scp是secure copy的縮寫,scp是linux系統下基于ssh登陸進行安全的遠程文件拷貝命令。
從本地復制到遠程
# 復制文件
scp /home/xxx/demo.zip root@211.119.10.222:/home/others/
scp /home/xxx/demo.zip root@211.119.10.222:/home/others/test.zip
# 復制文件夾
scp -r /home/xxx/ root@211.119.10.222:/home/others/
從遠程復制到本地
# 復制文件
scp root@211.119.10.222:/home/others/ /home/xxx/demo.zip
# 復制文件夾
scp -r 211.119.10.222:/home/others/ /home/xxx/
以上命令,都會要求輸入賬戶和密碼,我們可以通過添加秘鑰的方式,解決。
主機A文件復制到主機B
第一步、主機A生成配對秘鑰
在root目錄下執行:
ssh-keygen -t rsa
第二步、將主機A .ssh 目錄中的 id_rsa.pub 文件內容復制到主機B 的 ~/.ssh/ 目錄中文件 的末尾
類似:
這樣從主機A向主機B執行SCP命令時,就不需要輸入密碼了。
最后提供一個備份加發送到遠程的參考腳本:
#!/bin/sh
filename=`date '+%Y%m%d-%H%M%S'`
filename="${filename}bak.sql"
/usr/bin/mysqldump -h127.0.0.1 -P3306 -uroot -ppassword --all-databases > /home/mysql/backup/${filename}
scp -P 22 /home/mysql/backup/${filename} root@192.168.40.9:/home/mysql/backup
echo "success"
*請認真填寫需求信息,我們會在24小時內與您取得聯系。