熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> MySQL >> 正文

linux系統下MYSQL備份恢復

2013-11-23 21:01:13  來源: MySQL 

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

   用命令實現備份

  MySQLl提供了一個mysqldump命令我們可以用它進行數據備份下面假設要備份tm這個數據庫

  #mysqldump u root p tm > tm_sql

  按提示輸入密碼這就把tm數據庫所有的表結構和數據備份到tm_sql了因為要總進行備份工作如果數據量大會占用很大空間這時可以利用gzip壓縮數據命令如下

  #mysqldump u root p tm | gzip > tm_sqlgz

  系統崩潰重建系統時可以這樣恢復數據

  #mysql u root p tm < tm_sql

  從壓縮文件直接恢復

  #gzip < tm_sqlgz | mysql u root p tm

  當然有很多MySQL工具提供更直觀的備份恢復功能比如用phpMyAdmin就很方便但我認為mysqldump是最基本最通用的

  利用crontab系統每天定時備份mysql數據庫

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

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

  #mkdir /mysqldata

  創建/usr/sbin/bakmysql文件

  #vi /usr/sbin/bakmysql

  輸入

  rq=` date +%Y%m%d `

  tar zcvf /mysqldata/mysql$rqtargz /var/lib/mysql

  或者寫成

  rq=` date +%Y%m%d `

  mysqldump alldatabases u root p密碼 > /mysqldata/mysql$rqsql

  /var/lib/mysql是你數據庫文件的目錄部分用戶是/usr/local/mysql/data每個人可能不同

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

  修改文件屬性使其可執行

  # chmod +x /usr/sbin/bakmysql

  修改/etc/crontab

  #vi /etc/crontab

  在下面添加

   * * * root /usr/sbin/bakmysql

  表示每天點鐘執行備份

  重新啟動crond

  # /etc/rcd/initd/crond restart

  完成

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

  mysqltargz

  你直接下載就可以了

  cd /usr/local/mysql/bin/

  mysqldump u用戶名 p密碼 databases 庫名 >/backdata/dddsql

  恢復語法

  mysqladmin create target_db_name

  mysql target_db_name < backupfilesql

  即 mysql 庫名 < 文件名

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


From:http://tw.wingwit.com/Article/program/MySQL/201311/29453.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.