当mysqldump --single-transaction遇到alter table怎么办?
技术百科
零下一度
发布时间:2017-07-27
浏览: 次 测试环境:
MySQL 5.5.14
在数据库testdb01下有表tb1001,当前表中存有两条数据:
##=========================================================##
发现竟然返回的是空集,没有任何报错。
这也就合理解释我同事操作的现象:在mysqldump过程中,修改表结构,修改操作没有被阻塞,mysqldump操作也”正常完成“。
由于SELECT /*!40001 SQL_NO_CACHE */ * FROM
`tb1001`操作没有返回错误也没有返回数据,mysqldump进程会将tb1001当做一个空表来处理,然后继续导出后面的表直至导出所有的表然后返回执行成功的状态。但导出的备份已经缺失tb1001的数据,如果恰好采用该备份去恢复数据,那么必然最终导致“数据丢失”。
解决办法:
在对MySQL 5.5版本进行修改表操作前,先检查当前服务器是否在进行mysqldump操作,避免两者并行执行。
如果对mysqldump已经导出过的表进行修改操作,修改操作会被阻塞,直到mysqldump结束,该情况与MySQL 5.6版本一致。
总结:
对于MySQL 5.5版本,mysqldump与表修改操作同时执行:
如果修改表操作在 ”mysqldump开启后但还未导出修改表数据前“ 的时间段内开始,则修改表操作成功完成,而mysqldump不会执行失败,但是无法正常导出修改表的数据;
如果修改表操作在 “mysqldum已导出修改表数据但还未结束mysqldump操作前”的时间段内开始,则修改表操作被阻塞,mysqldum能成功完成,在mysqldump操作完成后修改表操作方可正常执行。
对于MySQL 5.5版本,应该避免mysqldump和修改表操作同时进行,以避免备份丢失修改表的数据,造成数据不一致!
# 的是
# 在对
# 这也
# 没有任何
# 两条
# 会将
# 报错
# 还未
# 时间段内
# 空集
相关栏目:
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
AI推广<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
SEO优化<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
技术百科<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
谷歌推广<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
百度推广<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
网络营销<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
案例网站<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
精选文章<?muma echo $count; ?>
】
相关推荐
- Python正则表达式实战_模式匹配说明【教程】
- Python迭代器生成器进阶教程_节省内存与懒加载
- Win11怎么关闭通知中心_Windows11系统
- php8.4xdebug无法调试怎么办_php8.
- Windows怎样关闭开始菜单推荐广告_Windo
- Win11应用商店下载慢怎么办 Win11更改DN
- MAC怎么用连续互通相机里的“桌上视角”_MAC在
- 为什么Go需要go mod文件_Go go mod
- Python对象比较与排序_魔术方法解析【教程】
- 如何解决Windows字体显示模糊的问题?(Cle
- MAC如何安装Git版本控制工具_MAC开发环境配
- 如何使用Golang实现微服务状态监控_Golan
- php中::能用于接口静态方法吗_接口静态方法调用
- 如何在 Windows 11 中使用 AlomWa
- Win11如何设置文件权限 Win11 NTFS文
- Win11怎么关闭自动修复_跳过Win11开机自动
- php485能和物联网模块通信吗_php485对接
- Win11怎么查看显卡温度 Win11任务管理器查
- 如何高效识别并拦截拼接式恶意域名 spam
- 如何使用Golang安装依赖库_管理模块和第三方包
- Win11用户账户控制怎么关_Win11关闭UAC
- c++ nullptr与NULL区别_c++11空
- Win11怎么设置任务栏大小_Windows11注
- Linux如何安装JDK11_Linux环境变量配
- PHP怎么接收前端传的时间戳_处理时间戳参数转换技
- Windows10系统怎么查看运行时间_Win10
- Python装饰器复用技巧_通用能力解析【教程】
- 一文教你快速开通网站LOGO图
- MAC如何隐藏文件夹及文件_MAC终端命令隐藏与第
- 如何在Windows上设置闹钟和计时器_系统自带的
- Win11怎么设置屏保时间_调整Win11屏幕保护
- Win11怎么恢复旧版开始菜单_通过软件还原Win
- c++中如何计算坐标系中两点间距离_c++勾股定理
- Win11怎么关闭触控板_Win11笔记本禁用触摸
- Python网络异常模拟_测试说明【指导】
- 如何在Golang中处理数据库事务错误_回滚和日志
- Win11怎么开启窗口对齐助手_Windows11
- Win11如何关闭小娜Cortana Win11禁
- 跨文件调用类方法怎么用_php作用域操作符与自动加
- 如何使用Golang开发基础文件下载功能_Gola
- Win11怎么连接蓝牙耳机_Win11蓝牙设备配对
- Python路径拼接规范_跨平台处理说明【指导】
- c++怎么调用nana库开发GUI_c++ 现代风
- 如何从 Go 的 map[string]inter
- VSC怎样在VSC中调试PHPAPI_接口调试技巧
- 如何在Golang中优化文件读写性能_使用缓冲和并
- Win11怎么关闭用户账户控制UAC_Window
- VSC怎样用终端运行PHP_命令行执行脚本的步骤【
- Ajax提交表单PHP怎么接收_处理Ajax发送的
- 如何在Golang中处理二进制数据_Golang

QQ客服