MySQL 这么成熟的数据库,为什么用 mysqldump 老是要锁表,生产环境直接崩溃

2019-09-26 08:50:17 +08:00
 kisshere

MySQL5.7 版本,一张 800 万行的 MyISAM 表,准备每天定时备份,导出 SQL 至备份盘。因为是生产环境,肯定不能锁表,那样业务全都被锁死了,于是尝试各种方法:

mysqldump -u root -p --lock-tables=false MyDB MyTable>MyTable.sql //锁表卡死
mysqldump -u root -p --lock-tables=false --skip-add-locks MyDB MyTable>MyTable.sql //锁表卡死
mysqldump -u root -p --lock-tables=false --quick MyDB MyTable>MyTable.sql //锁表卡死
mysqldump -u root -p --compress --quick --triggers --routines --lock-tables=false --single-transaction MyDB MyTable>MyTable.sql //锁表卡死

用 show processlist 查看,一直卡在

SELECT /*!40001 SQL_NO_CACHE */ * FROM `MyTable`

目前根本不敢备份,用 mysqldump 就锁表,试了好多方法都不行,我快崩溃了,求 V 友数据大神帮忙

16570 次点击
所在节点    程序员
61 条回复
julyclyde
2019-09-26 16:52:18 +08:00
存储引擎都这么成熟了,你还不使用成熟的那个
swulling
2019-09-26 17:13:39 +08:00
开启主备,然后对备库进行 dump。不都这么做的,还用来问?
wzq001
2019-09-26 17:28:54 +08:00
#4 #42 方法可以啊,觉得没毛病,求楼下大佬怼
small32
2019-09-26 17:31:41 +08:00
@naix1573 #8 你也在看超神制卡师?
dog82
2019-09-26 17:36:12 +08:00
行锁、表锁适用的场合不同。
不要用老旧的 myIsam 了
数据库管理系统的复杂度跟操作系统是一个级别的,不明白内部运行机制,还是要怀有敬畏之心
IamUNICODE
2019-09-26 17:46:32 +08:00
看标题心里咯噔一下,然后发现我们引擎用的 innodb,还好还好
reus
2019-09-26 17:48:06 +08:00
是你知识水平不够,不是 mysql 不够成熟,就是这样
AngelCriss
2019-09-26 17:49:16 +08:00
换 pg
Unclev21x
2019-09-26 17:55:09 +08:00
@lianxiaoyi 您这个博客用的哪个啊,看起来挺舒服的。
cyspy
2019-09-26 18:13:03 +08:00
binlog 重放
wujianxiong
2019-09-26 19:24:02 +08:00
mysql,你已经是个成熟的数据库了,应该学会自己备份。
FullBridgeRect
2019-09-26 21:22:25 +08:00
我,mysql,备份
eric
2019-09-26 22:00:45 +08:00
XtraBackup 了解一下
realpg
2019-09-26 22:03:37 +08:00
MYISAM 啥时候就能代表 MYSQL 了?
darkmi
2019-09-26 22:51:49 +08:00
mydumper
mysqldump
mysqlpump
xtrabackup
areless
2019-09-26 23:15:33 +08:00
每天都从 raid1 拔出一块硬盘,标上日期。插入一块同型号的新硬盘。如此循环反复
simonlu9
2019-09-26 23:18:47 +08:00
mysqldump 有一个参数开启事务的,不会锁表的,如果表是 myisam 就没办法啦,肯定锁表
Imr
2019-09-27 08:13:49 +08:00
@lscho 再往上还是 mysqldump /滑稽 小数据量和超大大数据量备份最高效的选择
lopetver
2019-09-27 08:33:38 +08:00
推荐 XtraBackup 目前项目的生产环境就是用它负责备份的。官网文档很齐全
mineqiqi
2019-09-27 14:13:03 +08:00
4 楼说得对,不影响生产,不影响备份。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/604269

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX