linux下mysql備份與恢復
1.用命令實現備份
資料庫備份是很重要的。如果定期做好備份,這樣就可以在發生系統崩潰時恢復資料到最後一次正常的狀態,把損失減小到最少。mysqll提供了乙個mysqldump命令,我們可以用它進行資料備份,下面假設要備份tm這個資料庫:
#mysqldump -u root -p tm > tm_050519.sql
按提示輸入密碼,這就把tm資料庫所有的表結構和資料備份到tm_050519.sql了,因為要總進行備份工作,如果資料量大會占用很大空間,這時可以利用gzip壓縮資料,命令如下:
#mysqldump -u root -p tm | gzip > tm_050519.sql.gz
系統崩潰,重建系統時,可以這樣恢復資料:
#mysql -u root -p tm < tm_050519.sql
從壓縮檔案直接恢復:
#gzip < tm_050519.sql.gz | mysql -u root -p tm
當然,有很多mysql工具提供更直觀的備份恢復功能,比如用phpmyadmin就很方便。但我認為,mysqldump是最基本、最通用的。
2.利用crontab,系統每天定時備份mysql資料庫
【內容提要】利用系統crontab來定時執行備份檔案,按日期對備份結果進行儲存,達到備份的目的。
利用系統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可以看到這樣的檔案
mysql20040619.tar.gz
cd /usr/local/mysql/bin/
mysqldump -u使用者名稱 -p密碼 --databases 庫名 >/backdata/ddd07-11-15.sql
恢復語法
mysqladmin create target_db_name
mysql target_db_name < backup-file.sql
即 mysql 庫名 < 檔名
ok,注意,-u後面沒有空格, 你只需要把上面的中文換成你的相關資訊就可以了!
linux系統下MySQL資料庫備份與恢復
備份 mysqldump u username p databasename filename.sql 自行設定sql檔名 備份所有資料庫 mysqldump u username p all databases filename.sql 如果需要壓縮匯出的sql檔案 mysqldump u use...
mysql meb mysql meb備份與恢復
介紹 1.這個軟體是收費的,由oracle開發 2.它可以用來備份myisam表,但是若資料庫中只有myisam表,則不能備份,會報錯 安裝軟體 meb 3.5.2 rhel5.i386.rpm 裡面有三個命令 全備 資料庫開啟 opt mysql meb 3.5 bin innobackup 1....
MySQL 全備份與增量備份 全恢復與增量恢復
一,全備份 與 全恢復 1 vim root db backup mysqldump mraz.php,內容如下 date default timezone set prc d date ymd his exec usr local mysql bin mysqldump uroot p111111...