mysqldump 和 基于快照的备份
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了mysqldump 和 基于快照的备份,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2750字,纯文字阅读大概需要4分钟。
内容图文
![mysqldump 和 基于快照的备份](/upload/InfoBanner/zyjiaocheng/458/f708f79a6dea47aab143260163626974.jpg)
mysqldump 和 基于快照的备份
Table of Contents
- mysqldump: 仅适用于数据集较小
- lvm-snapshot: 基于 LVM 快照的备份
- 相关阅读
mysqldump: 仅适用于数据集较小
mysqldump DB_NAME [tbname1] [tbname2]
# mysqldump -uroot -pYOUR_PASSWORD DB_NAME > test.sql mysql> create database test2; mysqldump -uroot -pYOUR_PASSWORD test2 < test.sql
备份所有的库
mysqldump --all-databases > test.sql
备份指定的多个库
--databases tb1 tb2 .....
恢复
mysql < test.mysql mysql database_name < test.sql
备份前要加锁
mysqldump --lock-all-tables: 请求锁定所有表之后在备份, 对 MyISAM, InnoDB, Aria 做温备 mysqldump --lock-tables tables_name [table1] [table2]
如果是 innodb
mysqldump --single-transaction: 能够对 InnoDB 存储引擎实现热备, 这时候就不用 lock-all-tables
备份代码
--events: 备份事件调度器代码 --routines: 备份存储过程和存储函数 --triggers: 备份触发器
备份时滚动日志:
--flush-logs: 备份前, 请求到锁之后滚动日志
复制时的同步位置标记
--master-data={0|1|2} 0 表示不记录 (默认) 1 表示记录为 change master 语句 2 表示记录为注释的 change master 语句 dump a master replication server to produce a dump file that can be used to set up another server as a slave of the master. It causes the dump output to include a CHANGE MASTER TO statement that indicates the binary log coordinates (file name and position) of the dumped server. These are the master server coordinates from which the slave should start replicating after you load the dump file into the slave
使用 mysqldump 备份
请求锁: –lock-all-tables 或使用–single-transaction 进行 innodb 热备
滚动日志: –flush-logs
选定要备份的库 –databases
记录二进制文件及位置 –master-data
手动请求全局锁
> flush tables with read lock > flush logs; (shell 下: mysqladmin flush-logs) > unlock tables
恢复:
建议: 关闭二进制日志, 关闭其他用户的写操作 set sql_bin_log = 0;
应该用 source test.sql
备份策略: 基于 mysqldump
备份:
mysqldump+二进制日志文件
周日做一次完全备份, 备份的同时滚动日志
周一至周六: 备份二进制日志
恢复: 完全备份+各二进制文件至此刻的事件
对于 MySQL 配置文件, 以及与 MySQL 相关的 OS 配置文件在每次修改后都应该直接进行备份
lvm-snapshot: 基于 LVM 快照的备份
- 事务日志跟数据文件必须在同一个卷上 (还要注意没 commit 的事务)
- 创建快照卷之前, 要请求 mysql 的全局锁
- 在请求全局锁完成之后, 做一次日志滚动;做二进制日志文件及位置标记 (手动进行)
- 释放锁
步骤:
- 请求全局锁, 并滚动日志
flush tables with read lock;
flush logs;
- 做二进制日志文件及位置标记 (手动进行)
mysql -e ‘show master status‘ > /path/to/somefile (之后在 slave 机器上执行对应的相应的操作)
- 创建快照卷
lvcreate -L SIZE -s -n data_back -p r /dev/data/mysqldata
- 释放全局锁
unlock tables
- 挂载快照并备份
cp
- 备份完成之后, 删除快照卷
lvremove
相关阅读
- mysql 备份
- lvm
mysqldump 和 基于快照的备份
标签:
本文系统来源:http://www.cnblogs.com/sunznx/p/4810559.html
内容总结
以上是互联网集市为您收集整理的mysqldump 和 基于快照的备份全部内容,希望文章能够帮你解决mysqldump 和 基于快照的备份所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。