萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> mysql教程 >> linux服務器中備份還原MYSQL數據庫

linux服務器中備份還原MYSQL數據庫

本文章整理了一些常用的linux服務器中備份還原MYSQL數據庫命令代碼,有需要學習了解的朋友可參考參考。

1.備份MYSQL:

把一個庫導出到一個SQL文件

 代碼如下 復制代碼 mysqldump db_name > /home/hx/backup/name.sql -uroot -p

備份多個庫(使用-B參數)

 代碼如下 復制代碼 mysqldump -B db1 db2 > /path/name.sql -u root -p

備份全部庫

 代碼如下 復制代碼 mysqldump --all-databases > /path/name.sql -u root -p

備份某庫一個表

 代碼如下 復制代碼 mysqldump db1 tb1 > /path/name.sql

備份某庫多個表

 代碼如下 復制代碼

mysqldump db1 tb1 tb2 > /path/name.sql

產生某庫某表的結構

 代碼如下 復制代碼 mysqldump -d db1 users > users.structure

產生某庫某表的內容

 代碼如下 復制代碼 mysqldump -t db1 users > users.data

2.恢復數據

有兩種方式:
第一種:

 代碼如下 復制代碼

mysql db_name < /path/backup-file.sql -u root -p
第二種:
mysql -u root -p
use db_name
source /path/backup-file.sql

3.Linux下的壓縮,將生成的sql備

份文件打包一下。
zip xxx.zip xxx.sql
tar -czf xxx.rar xxx.sql
tar的解壓是x,打包是c。

4.上傳下載備份,我用的是SecureCRT。
下載到本地,sz 目錄/文件名
上傳到服務器,rz
rz -r 續傳
rz -y 覆蓋已有文件


上面都是需要手動的,下面我來介紹一個自動備份mysql數據庫

MYSQL定期備份是一項重要的工作,但人工操作太繁瑣,也難避免有所疏漏,使用下面的方法即可讓系統定期備份數據。

1、創建備份文件夾

 代碼如下 復制代碼

#cd /www
#makedir backup

2、編寫運行腳本

 代碼如下 復制代碼

#vi autobackup

寫入以下內容:

 代碼如下 復制代碼

filename=`date +%Y%m%d`
mysql_bin_dir/mysqldump –opt dataname -u user -ppassword | gzip > /www/mysqlbackup/name$filename.gz

保存退出

說明:

(1)mysql_bin_dir:mysql的bin路徑;

(2)dataname:數據庫名;

(3)user:數據庫用戶名;

(4)password:用戶密碼;

(5)name:自定義備份文件前綴標識。

如上例,將自動備份mysql數據庫,並以gzip壓縮方式存儲,文件名為name20080101.gz的形式。

3、為腳本添加執行權限

#chmod +x autobackup

4、讓crontab來完成定期執行的任務

這一步中,Redhat的方法會不一樣,後面專門給出。

編輯crontab:

 代碼如下 復制代碼

#vi /etc/crontab

在最後一行中加入:

 代碼如下 復制代碼

01 5 * * * root /www/autobackup

每天5點運行腳本,也可以修改5為其他指定時間。

Redhat方法:

Redhat的crontab采用按時間調用4個目錄(/etc/cron.hourly:每小時;/etc/cron.daily:每天;/etc/cron.weekly:每周;/etc/cron.monthly:每月)中腳本出來運行的方式。

Redhat中只需要將剛才編輯的腳本復制到相應的目錄即可。

5、重啟crontab

 代碼如下 復制代碼

#/etc/rc.d/init.d/crond restart

copyright © 萬盛學電腦網 all rights reserved