登录
首页 >  数据库 >  MySQL

MySQL 备份数据、恢复数据、备份策略

来源:SegmentFault

时间:2023-02-23 17:43:17 258浏览 收藏

对于一个数据库开发者来说,牢固扎实的基础是十分重要的,golang学习网就来带大家一点点的掌握基础知识点。今天本篇文章带大家了解《MySQL 备份数据、恢复数据、备份策略》,主要介绍了MySQL,希望对大家的知识积累有所帮助,快点收藏起来吧,否则需要时就找不到了!

备份数据

-- Position to start replication or point-in-time recovery from
-- CHANGE MASTER TO MASTER_LOG_FILE='gbichot2-bin.000007',MASTER_LOG_POS=4;

--master-data选项会自动关闭--lock-tables,并且打开--lock-all-tables,除非同时指定了--single-transaction,则在转存开始时在短时间内获得全局读锁定。

--single-transaction:对于支持事务的表如

InnoDB
表,此选项会将事务隔离级别设置为:REPEATABLE READ。并在备份前执行 START TRANSACTION 语句,让整个数据在备份过程中保证一致性,且不会锁表和阻塞其他应用程序。但是该选项不能保证MyISAM表和MEMORY表的数据一致性。

备份过程中应避免其他链接使用以下语句:ALTER TABLE,CREATE TABLE,DROP TABLE,RENAME TABLE,TRUNCATE TABLE,事务并不能隔离以上的语句,可能会导致备份的内容不正确或失败。

该选项与--lock-tables选项互斥,要备份大表,应该将--single-transaction选项与--quick选项结合使用。

--all-databases:备份所有库和表。

--delete-master-logs:执行备份操作后,向服务器发送

PURGE BINARY LOGS
语句来删除二进制日志。此选项会自动启用--master-data。

恢复数据

shell> mysql  mysqlbinlog gbichot2-bin.000007 gbichot2-bin.000008 | mysql
shell> mysqlbinlog gbichot2-bin.000009 ... | mysql

备份策略

  • 始终使用--log-bin选项或--log-bin=log_name选项运行MySQL服务器。
  • 定期使用mysqldump命令进行完整备份。
  • 定期使用 FLUSH LOGS 或 mysqladmin flush-logs 命令刷新日志进行增量备份。

参考:https://dev.mysql.com/doc/mys...

理论要掌握,实操不能落!以上关于《MySQL 备份数据、恢复数据、备份策略》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注golang学习网公众号吧!

声明:本文转载于:SegmentFault 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>