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

       

猜你喜欢

转载自www.cnblogs.com/20e8/p/10653819.html