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