MySQLDUMP注意事项&使用技巧

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
云数据库 RDS PostgreSQL,高可用系列 2核4GB
简介:

MySQLDUMP大家并不陌生,这里简单说其备份流程,及注意事项等等;

   常用参数:

   -single-transaction :

   只针对事务存储引擎(Innodb)生成一致性快照,其他引擎不能保证导     出是一致的;备份期间禁止使用ALTER,DROP,RENAME,TRUNCATE这样的语句,否则会导致一致性快     照失效;该选项自动关闭lock-tables;

   --master-data:

   该选项将binlog的file&pos添加的输出中,自动启用--lock-all-tables;若同时设置--single-transaction,则不会启用--lock-all-tables选项(全局读锁只会在开始dump时加一小段时间);自动关闭--lock-tables

   --lock-all-tables:

   全局读锁,自动关闭--single-transaction & --lock-tables

   --flush-logs:

   在开始导出前flush logs(一次导出N多数据库时每个库都会flush logs ;配合--lock-all-tables 或者master-data使用只会刷新一次);

   --delete-master-logs:

   备份完成后,删除db上的日志,自动启用 --master-data

   --apply-slave-statements:

   在’CHANGE MASTER’前加上’STOP SLAVE’,在导出文件的末尾加上’START SLAVE’.

   --flush-privileges:

   导出的数据库中含有mysql DB时使用;

   -w --where :

   导出部分数据内容;

   -T /datadir/

   在DB上生成Create .sql and .txt files(这两个文件在同一台机器上才起作用,并且生成的文件可以覆盖掉上次备份内容;在其他机器远程连接使用该选项时,只会生成.txt file,并且执行用户必须有file,select权限,且生成的文件不能覆盖到上次备份的内容)

   --tz-utc :对于跨时区导入导出数据很重要,默认该参数启用,并SET TIME_ZONE=’+00:00’,所以从其他时区导入到本地区时,会默认+8:00小时,;如果要保留数据源的时间,还是使用--skip-tz-utc来过滤掉这个功能;

   --default-character-set=UTF8:

   关于字符集的问题,这个不多说,要确保 server版本和

   --innodb-optimize-keys(只存在于percona版本中):

   使用innodb fast index 功能来重建二级索引;

   --include-master-host-port(只存在于percona中) :

   Adds 'MASTER_HOST=<host>, MASTER_PORT=<port>' to 'CHANGE  MASTER TO..

   在5.1版本当中:用–master-data和–single-transaction来导出数据,因为--lock-tables被自动关闭,所以导出过程中只会对当前正在做导出操作的表有IS锁,已经完成或没有开始的表,则不会加锁。如果用默认--lock-tables打开的选项,则会先把所有库的锁加上,再进行导出操作,最后一次性释放所有锁。

   在5.5当中:最大的区别还是由于Meta data lock 的存在,使用--single-transaction时,事务内操作过的表都会持有MDL,所以不会被DDL破坏,还没备份到的表不会持有MDL,所以可以进行DDL操作;

   mysqldump暂时不支持 同时导出多个库中的多个数据表

   mysqludmp client版本相一致;否则可能会出很多字符集或者其他的怪问题;






本文转自 位鹏飞 51CTO博客,原文链接:http://blog.51cto.com/weipengfei/1346400,如需转载请自行联系原作者

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
目录
相关文章
|
负载均衡 应用服务中间件 API
微服务技术系列教程(25) - SpringCloud- 接口网关服务Zuul
微服务技术系列教程(25) - SpringCloud- 接口网关服务Zuul
376 0
|
API
阿里云的ascm上如何使用api接口
阿里云的ascm上如何使用api接口
2284 1
|
SQL 分布式计算 大数据
MAXCOMPUTE和ODPS的区别是什么?
MAXCOMPUTE和ODPS的区别是什么?
1111 1
|
数据采集 Web App开发 XML
爬虫进阶:Selenium与Ajax的无缝集成
爬虫进阶:Selenium与Ajax的无缝集成
|
11月前
|
存储 关系型数据库 MySQL
提高MySQL查询性能的方法有很多
提高MySQL查询性能的方法有很多
466 7
|
SQL 存储 分布式计算
ODPS开发大全:入门篇(1)
ODPS开发大全:入门篇
1209 14
|
10月前
|
UED 异构计算
overflow 属性法的缺点
【10月更文挑战第27天】虽然`overflow`属性法是一种简单有效的解决浮动布局高度塌陷问题的方法,但在使用时需要充分考虑到其可能带来的各种缺点,并根据具体的页面布局需求和设计要求,谨慎地选择和使用,以避免对页面的显示效果、用户体验和性能表现产生不良影响。
|
监控 关系型数据库 MySQL
mysql误删的performance_schema库
`performance_schema`库是MySQL性能监控的重要工具,误删除后可以通过上述方法尝试恢复。在操作过程中,重启MySQL服务器是最简单的尝试方法。如果这不起作用,可以尝试使用MySQL的初始化选项,但请注意备份数据以防数据丢失。检查MySQL配置也是一个好的步骤,以确保 `performance_schema`没有被禁用。最后,如果有备份,通过恢复备份来恢复 `performance_schema`库是最保险的方法。在操作过程中,确保遵循最佳实践和操作前备份重要数据。
560 5
|
消息中间件 NoSQL 关系型数据库
【Kubernetes部署Shardingsphere、Mycat、Mysql、Redis、中间件Rocketmq、Rabbitmq、Nacos】
【Kubernetes部署Shardingsphere、Mycat、Mysql、Redis、中间件Rocketmq、Rabbitmq、Nacos】
430 0
|
存储 Kubernetes 网络协议
在K8S中,Deployment和Statefulset有何区别?
在K8S中,Deployment和Statefulset有何区别?