博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
my22_mydumper 使用总结
阅读量:5923 次
发布时间:2019-06-19

本文共 2442 字,大约阅读时间需要 8 分钟。

1. mydumper 的安装依赖于mysql软件,要使用mydumper 则服务器上必须先安装mysql

2. mydumper 安装时会使用mysql软件的动态链接库文件,如果服务器上mysql版本发生了变化,那么mydumper 也需要重新安装

3. 使用mydumper 最好为不同的数据库提供不同的账户,并且导入的时候,尽量要在本地导入,不进行远程操作

这是因为mydumper 与myloader的命令格式非常相似,容易将mydumper 的-u -p -h -P信息一复制就粘贴到myloader中去了

mydumper -u mhiser  -p 1r23kl456 -h 172.17.13.11 -P 3306 -e -t 8 -o /data/backup/full_20181210

这样做的结果就是将备份出来的数据又导回原库中,但原库是有业务写入的,这样库的数据就不正确了

4. myloader后的 -h 一定要写127.0.0.1,如果不是本地操作,要确定一下为什么要远程导入,确保导入的IP的正确性,一旦IP错误,则可能损坏数据;最后在导入前mysql -u测试一下这个链接

5. 通常情况下,一个库同一时间只能有一个mydumper导出进程运行,启动第二个时会报

** (mydumper:3128): CRITICAL **: There are queries in PROCESSLIST running longer than 60s, aborting dump,

use --long-query-guard to change the guard value, kill queries (--kill-long-queries) or use different server for dump

6. mydumper重复导出到相同的目录不影响文件的正确性。就是导出已经结束,但由于一些原因又重复执行了该导出命令(短时间 内),此时不要担心,去看备份文件的修改时间,mydumper只是更新了一些配置,并没有修改备份数据,备份依然是有效的。

7. mysqldump从PXC中导出数据时,会报以下错误,需要加--skip_add_locks --skip-lock-tables参数才行,就是不锁表导出;但mydumper则能正常导出数据,比如当数据量小,或者大到磁盘上无法存放备份的时候,可使用mydumper进行远程并发导出。

mysqldump: Got error: 1105: Percona-XtraDB-Cluster prohibits use of LOCK TABLE/FLUSH TABLE <table> WITH READ LOCK with pxc_strict_mode = ENFORCING when using LOCK TABLES

8. myloader导入时默认是不记录日志的,如果你导入的是主库,那么从库不会有变化,基本binlog日志的同步将全步失效,需要记录日志则需要添加-e, --enable-binlog 参数

9. 导出与导入的线程数最好一致,比如导出时使用的是8线程,导入最好也使用8线程

10. mydumper多线程导出的数据库文件,myloader无法导入到MGR架构中。现象为写入一段时间数据后就不再写入了myloader导入进程还在,卡在那里不动了。因此若是往mgr架构中导入数据,还是使用mysqldump比较保险。后来通过关闭MGR所有读节点,只保留一个写节点,解决了这个问题。

11. mysqlpump同样支持多线程,但它使用的前提是mysql版本5.7.8及以上( Server version should be 5.7.8 or above)。

12. 数据库如果开启GTID,使用mydumper搭建GTID主从同步的时候,需要手工设置一下GTID的信息才可以同步

$ cat metadata Started dump at: 2019-02-20 17:37:23SHOW MASTER STATUS:        Log: mysql-bin.001545        Pos: 290649324        GTID:aaaaaaaa-bbba-ccca-ddda-aaaaaaaaa101:1-48661145

从库上的操作

reset master;SET @@GLOBAL.GTID_PURGED='aaaaaaaa-bbba-ccca-ddda-aaaaaaaaa101:1-48661145';
CHANGE MASTER TO MASTER_HOST='10.*.*.*',MASTER_PORT=3801,MASTER_USER='d******',MASTER_PASSWORD='d*******',MASTER_AUTO_POSITION=1;start slave;show slave status\G;

 13. 支持远程操作。比如要备份一个库,不必在服务器本地做,完全可以在一台远程服务器上操作; 如果需要恢复,也可以在远程服务器上将数据导入回来。

14. 通常说mydumper不锁表,这句话在大多情况下正确,但千万不要理解成不会影响数据库的正常运行;曾经同时导出8套线上主库的数据到8个服务器上,都是高并发库,约十分钟后第6套主库的线程数就到了2000,处理时到了4000,一个500秒的update语句,大量的全局读锁,我杀了该库的导出进程,瞬间锁就降下来了

15. mydumper不支持同时导出多个库,-B参数后只能写一个库名;如果一个实例有多个库,那么就无法使用mydumper来导出数据做从库了

 

转载于:https://www.cnblogs.com/perfei/p/10249842.html

你可能感兴趣的文章
异步执行顺序
查看>>
js判断对象是否为空
查看>>
使用jest测试Koa应用
查看>>
开发适用于微信小程序的跨平台图表库:part1
查看>>
亚马逊苹果在中国不行了,下一个该星巴克了?
查看>>
北京—【望京SOHO】样本通 招前端开发工程师(react)
查看>>
Redisson之几种分布式队列
查看>>
可以提高程序员效率的工具!
查看>>
【Swift】类似于微博、微信的ActionSheet
查看>>
b2b b2c o2o分布式电子商务平台源码 Spring MVC+mybatis+spring cloud
查看>>
人工智能会不会变成终结者,这事儿人工智能自己说了不算
查看>>
看雪-2014 APP应用攻防竞赛第二阶段第1题(攻击篇)解析
查看>>
PHP编码规范(PSR-2)-代码风格规范
查看>>
服务器CPU核数认识
查看>>
去掉 ubuntu 主目录加密的方法
查看>>
Linux 建立php脚本定时任务 和定时备份数据库
查看>>
LH01_ansible及其常见模块01
查看>>
使用XtraBackup备份MySQL
查看>>
《The Social Network》
查看>>
MySQL binlog 自动清理脚本
查看>>