mysql 邏輯備份 (mysqldump)

abin1703發表於2016-05-06
mysqldump備份


邏輯innodb備份mysql
標準備份
mysqldump -uroot -p123 --default-character-set=utf8 --single-transaction --extended-insert=false --hex-blob --master-data=2 --log-error=/tmp/test.err --routines --triggers --events --quick
--flush-logs --databases test1 t1 > test1.sql 


--quick  查詢出來不放在buffer,直接輸出
--extended-insert=false  匯出insert語句是多行,並非 insert into t values (),();
--lock-all-tables 將myisam表鎖住,保持表的一致性
--single-transaction  將innodb表鎖住,保持表的一致性
--master-data=2  file和position的記錄位置 ,2 代表註釋
--databases 匯出建立資料庫的語句


恢復


mysql -uroot -p1234356 < czb.sql


恢復其他庫


1、將備份裡的建立資料語句刪除
2、use ‘新庫’
3、在mysql資料庫建立新庫
4、mysql -uroot -p123456 新庫名 < czb.sql


binlog追加資料


根據--master-data 引數備份記錄備份的位置,透過mysqlbinlog 檢視


mysqlbinlog --start-position=3444  -d czb mysql-bin.000003 >a.sql


--start-position=3444 //3444這個值透過備份裡的--master-data引數得到的


mysql -uroot -p123456
source a.sql


實驗:












 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30345407/viewspace-2095007/,如需轉載,請註明出處,否則將追究法律責任。

相關文章