- 1. 背景
- 2. 疑点
- 3. 问题分析
- 4. 问题定位
- 5. checking permissions的疑惑
- 6. 探索优化思路
- 7. 补充:关于几个timeout参数生效点
1. 背景
行内数据库备份在使用某备份软件,使用的数据库版本MySQL 8.0
社区版,全备使用mysqldump
进行,DBA早上巡检发现有一套数据库全备份失败,心里一疙瘩怎么回事呢?来看看如下报错
[mysqldump: Error: 'Lost connection to MySQL server during query' when trying to dump tablespaces mysqldump: couldn't execute 'SHOW VARIABLES LIKE 'ndbinfo'\_version' MySQL server has gone away (2006)]
肯定有同学有疑问?
- 为什么mysqldump会出现丢失连接?
- 为什么不使用xtrabackup呢?这需要另外章节来阐述了。
2. 疑点
为什么mysqldump会出现丢失连接?带着该问题进行以下分析:
- 1.检查备份软件工具负载情况
- 2.检查数据库中错误日志
- 3.数据库的负载情况
3. 问题分析
3.1 备份软件是否存在高负载、排队或超时配置导致响应超时?
对整个备份系统进行排查,虽然备份系统任务多,但并没有出现性能瓶颈导致数据库备份时超时,备份软件也没有设置备份超时时间自动断开的相关配置
3.2 检查数据库错误日志
2020-10-26T01:31:14.465387+08:00 149718 [Note] [MY-010914] [Server] Aborted connection 149718 to db: 'unconnected' user: 'root' host: 'localhost' (Got an error reading communication packets).
通过数据库错误日志发现同备份软件报错一样,对于这个错误,MOS上有一个比较好的解释如下:
不管怎么样我们后面先来看备份软件触发了些什么语句。