mysql 數據庫的備份和還原


1. 邏輯備份 (和存儲引擎無關)

mysqldump -uroot -p schoolDB TSubject > /mysqlbackup/schoolDB.TSubject.sql  (備份數據庫schoolDB中的TSubject表)

按條件備份:mysqldump -uroot -p schoolDB TSubject  --where "publish='people publisher '"> /mysqlbackup/schoolDB.TSubject.sql 

備份整個數據庫:mysqldump -uroot -p schoolDB  > /mysqlbackup/schoolDB.sql 

備份多個數據庫:mysqldump -uroot -p --database schoolDB webDB > /mysqlbackup/schoolDB_webDB.sql 

備份全部數據庫:mysqldump -uroot -p --all-database >/mysqlbackup/all_database.sql

 

2.遠程備份和還原

3. 利用日志實現完全恢復

首先需要開啟日志功能,修改/etc/my.cnf文件。 修該后需要重啟服務。

添加參數:log-bin=mysql-bin

     server-id=1    (5.7.25需要新添加的參數)

     binlog-ignore-db=mysql          (忽略的數據不記錄日志)

     binlog-ignore-db=information_schema   (忽略的數據)

日志位置: /var/lib/mysql/mysql-bin.000001

查看日志文件命令: mysqlbinlog /var/lib/mysql/mysql-bin.000002

 備份:mysqldump -uroot -p schoolDB > /tmp/schoolDB.sql

產生新的日志文件: flush logs;

顯示日志信息: show master status;

還原:mysql shoolDB < /tmp/schoolDB.sql

5.mysqlhotcopy 熱備份

mysqlhotcopy -u root -p sdfdf schoolDB./t2/ /t2

 

 

利用日志還原:mysqlbinlog /var/lib/mysql/mysql-bin.000002 |mysql -uroot -p schoolDB

4.恢復到指定時間點:

mysqlbinlog -stop-date='2015-11-04 09:22:33’ < /tmp/schoolDB.sql

mysqlbinlog --start-postion='178' --stop-position='315' /var/lib/mysql/mysql-bin.000002 |mysql -uroot -p

 

 

 

 

       

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM