mysqldump的简单用法及其原理
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了mysqldump的简单用法及其原理,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2174字,纯文字阅读大概需要4分钟。
内容图文
![mysqldump的简单用法及其原理](/upload/InfoBanner/zyjiaocheng/491/6a5e3ff00bc947d1bbdc15b46a898c7b.jpg)
生产备份:
搭建主从: mysqldump -A -B -R --master-data=2 >backup.sql
备份单库(包含建库语句): mysqldump -B 数据库名 --single-transaction >db.sql
备份单库:(不包含建库语句):mysqldump db_name --single-transaction >db_date.sql
备份表的数据及结构:mysqldump -u username -ppassword database --tables table_name1 table_name2 table_name3 >create_date.sql
备份指定表的结构:mysqldump -u username -ppassword -d database --tables table_name1 table_name2 table_name3 >create_table.sql
备份指定表的数据:mysqldump -u username -ppassword -t database --tables table_name1 table_name2 table_name3 >table_data.sql
数据库中,某些表除外,其余表都需导出
mysqldump -h IP -u username -ppassword --default-character-set=utf8
--database database_name --ignore-table=database_name.table_name1
--ignore-table=database_name.table_name2 --ignore-table=database_name.table_name3 >ignore_table.sql
恢复:
对应好服务器、数据库
source backup.sql;
mysqldump的原理:(可以在dump时自行打开general log,观察日志的输出)
1. mysqldump的本质是通过select * from tab来获取表的数据的。
2. START TRANSACTION /*!40100 WITH CONSISTENT SNAPSHOT */必须放到FLUSH TABLES WITH READ LOCK和UNLOCK TABLES之间,放到之前会造成START TRANSACTION /*!40100 WITH CONSISTENT SNAPSHOT */和FLUSH TABLES WITH READ LOCK之间执行的DML语句丢失,放到之后,会造成从库重复插入数据。
3. mysqldump只适合放到业务低峰期做,如果备份的过程中数据操作很频繁,会造成Undo表空间越来越大,undo表空间默认是放到共享表空间中的,而ibdata的特性是一旦增大,就不会收缩。
4. mysqldump的效率还是比较低下,START TRANSACTION /*!40100 WITH CONSISTENT SNAPSHOT */只能等到所有表备份完后才结束,其实效率比较高的做法是备份完一张表就提交一次,这样可尽快释放Undo表空间快照占用的空间。但这样做,就无法实现对所有表的一致性备份。
mysqldump的简单用法及其原理
标签:指定 bsp sel snapshot har nap action create mysql
本文系统来源:http://www.cnblogs.com/DBA-3306/p/7513925.html
内容总结
以上是互联网集市为您收集整理的mysqldump的简单用法及其原理全部内容,希望文章能够帮你解决mysqldump的简单用法及其原理所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。