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