惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Apple Machine Learning Research
Apple Machine Learning Research
爱范儿
爱范儿
博客园_首页
博客园 - 【当耐特】
V
Visual Studio Blog
博客园 - 叶小钗
月光博客
月光博客
美团技术团队
J
Java Code Geeks
小众软件
小众软件
Y
Y Combinator Blog
博客园 - Franky
Martin Fowler
Martin Fowler
博客园 - 聂微东
Microsoft Azure Blog
Microsoft Azure Blog
IT之家
IT之家
MyScale Blog
MyScale Blog
人人都是产品经理
人人都是产品经理
Microsoft Security Blog
Microsoft Security Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
阮一峰的网络日志
阮一峰的网络日志
酷 壳 – CoolShell
酷 壳 – CoolShell
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
云风的 BLOG
云风的 BLOG

博客园 - 黔人阿诺

阿里OSS简单上传 有分片 ‌Alibaba Cloud 3 (OpenAnolis Edition) x86_64 安装GNOME远程桌面环境VNC完整指南 删除/www/wwwroot/default/下内容为空的php 文件 Nginx屏蔽无用User-Agent蜘蛛访问网站 OSSFS 挂载 OSS当本地硬盘用 mysql8 关闭主从复制的正确步骤 mysql 语句 字符相加 判断字段为纯数字 //文件 内容修改MyISAM 改为InnoDB 可以直接修改备份 centos 解压zip后中文文件乱码 定时清理mysql sleep mysql删除重复数据只保留一条 VirtualBox 中 discuzq不能添加软链接的处理方法 mysql8 source 导入大文件时 经常意外中断 且无法再链接断续 解决方法先设置 set names utf8; discuzq Virtualbox 虚拟机 在共享文件夹设置软链接 in 报错 Protocol error问题 判断访问者是否为搜索引擎蜘蛛 宝塔redi状态检测 如果停止则重启 放计划任务 mysql8 不监听tcp端口号 未监听TCP 3306问题解决 CentOS 8.3远程连接vncserver升级后1.10.1无法启动解决记录 mv cp rm 时 Argument list too long
数据库mysqldump导出 老是出错的解决办法
黔人阿诺 · 2026-01-18 · via 博客园 - 黔人阿诺

#数据库mysqldump导出 老是出错的解决办法

#大表导出 防超时关健配置

[mysqld]

 net_read_timeout = 600

 net_write_timeout = 600

 wait_timeout = 28800

 interactive_timeout = 28800

 max_execution_time = 0     #最关健

######【导出代码开始】#######

#!/bin/bash

#database_mysqldump.sh

#chmod +x database_mysqldump.sh

#nohup ./database_mysqldump.sh > /dev/null 2>&1 & 

DATE=$(date +%Y-%m-%d_%H-%M-%S)

LOGDIR="/www/wwwroot/mysql/db/logs"

mkdir -p "$LOGDIR"

# 执行 mysqldump 不压缩

mysqldump \

  --opt --hex-blob --single-transaction --quick --skip-lock-tables \

  --routines --events --triggers --skip-add-locks --skip-comments \

  --max-allowed-packet=2G --net-buffer-length=16M \

  --default-character-set=utf8mb4 --force \

  --lock-tables=false \

  --host=localhost --port=3306 \

  --user=root --password='密码' 数据库名 \

  2> "$LOGDIR/backup_detail_${DATE}.log" \

  > "$LOGDIR/../${DATE}.sql"   # 这里不进行压缩,直接输出为 .sql 文件

# 备份完成后记录

echo "Backup finished at $(date)" >> "$LOGDIR/backup_main_${DATE}.log" 

######【导出代码结束】#######

# backup_detail_${DATE}.log  为错误信息 如果没有错误说明成功

#"$LOGDIR/backup_main_${DATE}.log" 成功信息 + 上面没有错误 =成功 (最好在按下面提示再确认)

#开始 

chmod +x database_mysqldump.sh

nohup ./database_mysqldump.sh > /dev/null 2>&1 &

[root@localhost ~]# 

[root@localhost db]# chmod +x database_mysqldump.sh

[root@localhost db]# nohup ./database_mysqldump.sh > /dev/null 2>&1 &

[1] 389284

[root@localhost db]# 

#下面为检查 检测 

ps aux | grep mysqldump 

#超时会在有多行的表上出错如下 

mysqldump: Error 3024: Query execution was interrupted, maximum statement execution time exceeded when dumping table `cache` at row: 20545622

mysqldump: Error 3024: Query execution was interrupted, maximum statement execution time exceeded when dumping table `member` at row: 4301385

#信息确认 查 db.sql所有 的表名 【大SQL会卡死】

grep -oP "CREATE TABLE `\K[^`]+" db.sql > table_list.txt

#兼容性更高

grep "CREATE TABLE \`" database.sql | awk -F'`' '{print $2}' > table_list.txt

#信息确认 查 db.sql所有最后几项 的表名 【防卡死】

#按字节读取最后 1GB

tail -c 1G database.sql | grep "CREATE TABLE \`" | cut -d'`' -f2

#方法 B:按行读取最后 N 行(例如 20000 行)

tail -n 20000 database.sql | grep "CREATE TABLE \`" | cut -d'`' -f2