首頁  >  文章  >  資料庫  >  MYSQL學習總結(四):MYSQL的復原與備份

MYSQL學習總結(四):MYSQL的復原與備份

黄舟
黄舟原創
2016-12-23 17:12:091164瀏覽

#使用mysqldump備份所有函式庫
   Mysqldump –opt –master-data –single-transaction –u root –ppassword –all –database > all.sql
   參數說明:--opt 好像是預設選項,不加也可以,主要作用是防止庫太大,不加的話會把結果先放進內存,這樣會出問題
 --master-data 這個主要是在結果上顯示導出的位置(二進制日誌的pos)
 --single-transaction這個是相對於innoDB引擎運作的,類似於flush table with read lock吧;
#使用mysqldump備份一個庫
  Mysqldump –u root –ppassword databasename > databasename.sql
#使用mysqldump備份一個表(即導出一個表basename > databasename.sql
#使用mysqldump備份一個表(即導出一個表資料)
 Mysqldump –u root –ppassword –databases databasename –tables tablename > tablename.sql
#使用mysqldump壓縮備份
   Mysqldump –uroot –ppassword databasename |gzip > dataname. .sql.gz | mysql –u root –ppassword databasename
   Mysql –u root –ppassword databasename 也可以登陸進mysql,然後執行source /tmp/databasename.sqlhotmy –uroot –p=password databasename  /bakup/備份目錄
#使用mysqlhotcopy備份某一個表格
  Mysqlhotcopy –u root –p=password databasename./tablename/  /backup/備份目錄
#使用mysqlword databasename./tablename/  /backup/備份目錄
#使用mysqlword databasename./tablename/  /backup/備份目錄
#使用mysqlwordhotcopy備份庫並增加Mysqlhotcopy –u root –p=password –checkpoint=hotcopy.checkpoint databasename  /bakup/備份記錄
  參數說明:將每次執行備份的記錄保存在hotcopy庫-checkpoint表中,需要事先建立好庫和表
如: create databases hotcopy; 
    Use hotcopy;
    Create table checkpoint (time_stamp timestamp not null,src varchar(32),dest varchar(32),msg not null,src varchar(32),dest varchar(32),msg notvarcher(255));至資料庫的資料目錄即可,注意目錄的權限。
#mysqldump和mysqlhotcopy的區別和個人理解
    Mysqlhotcopy只適用於MYISAM引擎的表;
    使用mysqlhotcopy必須要安裝perl-DBI、perl-DBD-mysql模組
備份檔案需要拷到目標目錄覆蓋,mysqldump需要把備份檔案匯入到原庫
#基於二進位日誌的還原
  Mysqlbinlog mysql-bin.XXXXX | mysql –u root –ppassword // 恢復整個mysql-bin.XXXXXXX志文件
  Mysqlbinlog –start-datatime=”2014-02-28 10:00:00” –stop-datatime=”2014-02-28 12:00:00” mysql-bin.XXXX | mysql –u root –ppassword –u root –ppassword //恢復mysql-bin.XXXX中從10點到12點的部分操作
 Mysqlbinlog –start-position='3000' –stop-position='5000' mysql-bin.XXXX | mysql –u root –ppassword  ////恢復mysql-bin.XXXX 中位置從3000-5000的部分。可以使用mysqlbinlog工具將二進位日誌匯出後,找到位置。 如:mysqlbinlog /var/mysql-bin.XXXX >/tmp/binlogXXXX.txt



以上就是MYSQL學習總結(四):MYSQL的恢復和備份的內容,更多相關內容請關注PHP中文網(www .php.cn)!




陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn