程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> linux系統下MYSQL備份恢復(主要看紅色字體部分)

linux系統下MYSQL備份恢復(主要看紅色字體部分)

編輯:MySQL綜合教程

數據庫備份是非常重要的,如果定期做好備份,這樣就可以在發生系統崩潰時回復數據到最後一次正常的狀態,把順勢減小到最少。

一、 用名航實現備份

MySQL提供了一個mysqldump命令,我們可以用它進行數據庫備份,下面假設呀哦備份tm這個數據庫:

#mysqldump -u root -p tm > tm_050519.sql
按提示輸入密碼,這就把tm數據庫所有的表結構和數據備份到tm_050519.sql文件中,因為要總進行備份工作,如果數據量大會占用很大空間,這時可以利用gizip壓縮命令,命令如下:
#mysqldump -u root -p tm | gzip > tm_050519.sql.gz
系統崩潰,重建系統時,可以這樣回復數據:
#mysql -u root -p tm < tm_050519.sql

從壓縮文件直接恢復

#gunzip < tm_050519.sql.gz | mysql -u root -p tm
當然,有很多MySQL工具提供更直觀的備份恢復功能,比如用phpMyAdmin就很方便。但我認為,mysqldump是最基本、最通用的。

二、利用crontab來定時執行備份文件,按日期對備份結果進行保存,達到備份的目的。

1、創建保存備份文件的路徑/mysqldata

#mkdir /mysqldata
2、創建/usr/sbin/bakmysql文件
#vi /usr/sbin/bakmysql
輸入
rq=` date +%Y%m%d `
tar zcvf /mysqldata/mysql$rq.tar.gz /var/lib/mysql
或者寫成
rq=` date +%Y%m%d `
mysqldump --all-databases -u root -p密碼 > /mysqldata/mysql$rq.sql
/var/lib/mysql是你數據庫文件的目錄,部分用戶是/usr/local/mysql/data,每個人可能不通

/mysqldata/ 表示保存備份文件的目錄,這個每個人也可以根據自己的需求來做

3、修改文件屬性,使其可執

# chmod +x /usr/sbin/bakmysql
4、修改/etc/crontab
#vi /etc/crontab
在下面添加
01 3 * * * root /usr/sbin/bakmysql
表示每天3點鐘執行備份

5、重啟crond

# /etc/rc.d/init.d/crond restart
完成。

這樣每天你在/mysqldata可以看到這樣的文件

mysql20140324.tar.gz

你直接下載就可以了

cd /usr/local/mysql/bin

mysqldump -u用戶名 -p密碼 --databases 庫名 >/backdata/ddd14-03-23.sql
恢復語法
mysqladmin create target_db_name
mysql target_db_name < backup-file.sql
即 mysql 庫名 < 文件名

完成,注意:-u後面沒有空格,你只需要把上面的中文替換成你的相關信息就可以了

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved