阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

MySQL的逻辑备份(mydumper+mysqldump)

173次阅读
没有评论

共计 951 个字符,预计需要花费 3 分钟才能阅读完成。

虽说 MySQL 的逻辑备份经常会由于锁表等缺陷遭到诟病, 实际上在停机窗口时间内, 如果数据量不是太高的话, 做逻辑备份还是挺简单的~

准备工作:
1. 目标库 (从这个库备份数据) 先要有足够权限的账号(临时的 root 就可以了~ 用完就删);
2. 对应的工具要安装好, 如 mydumper;
3. 准备好脚本 / 命令, 不放心就在测试环境演练一下~

一切准备就绪之后就可以等停机了~

这里记下备份 & 恢复用的命令:

备份:

nohup mysqldump -h<host> -u<user> -p<password> –triggers –routines –events –set-gtid-purged=OFF -B <dbname> -d > /home/backup/<dbname>.sql &

nohup mydumper -h <host> -P 3306 -u <user> -p <password> -t 4 -m -B <dbname> -o /home/backup/mydumper_<dbname> &
几个需要注意的点:
1. mydumper 无法导出视图, 触发器, 存储过程等对象, 所以用 mysqldump 来导出各种对象的结构;
2. mydumper 能做多线程导出, 所以导具体的数据时, mydumper 会比 mysqldump 多很多;
3. –set-gtid-purged=OFF 主要适用于开启了 GTID 的数据库, 如果没有开启, 那么就把这个选项去掉;
4. 如果是在从库上进行备份, 那么记得加上 –dump-slave 参数, 把 slave status 的信息 dump 出来;

恢复:

nohup mysql -u<user> -p<password> -h<host> -e “source /home/backup/<dbname>.sql” &

nohup myloader -u <user> -p <password> -h <host> -e -B <dbname> -d /home/backup/mydumper_<dbname>/ &
几个需要注意的点:
1. myloader 的命令之间要注意空格;
2. myloader 的 - e 参数会把恢复数据时的 SQL 写进 binlog, 可以用来进行同步 or 故障排查 or 其他;

本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-12/137854.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-22发表,共计951字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中