• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >Mysql > 解析mysqldump的delay-insert选项

解析mysqldump的delay-insert选项

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-11

通过本文主要向大家介绍了mysqldump,mysqldump导出数据库,mysqldump备份数据库,mysqldump导入,mysqldump参数等相关知识,希望本文的分享对您有所帮助

如果用delayed-insert插入时不用锁表。
./bin/mysqldump -uroot  -proot   --lock-tables --extended-insert  --opt --quick  --master-data  test >/home/zhanghong/opdir/tmp/test.sql
--
LOCK TABLES `student` WRITE;
/*!40000 ALTER TABLE `student` DISABLE KEYS */;
INSERT INTO `student` VALUES (16,'hhah',3),(17,'22',3),(18,'ss',18);
/*!40000 ALTER TABLE `student` ENABLE KEYS */;
UNLOCK TABLES;

使用delayed-insert不会锁表
./bin/mysqldump -uroot  -proot   --lock-tables --delayed-insert --extended-insert  --opt --quick  --master-data  test >/home/zhanghong/opdir/tmp/test.sql
/*!40000 ALTER TABLE `student` DISABLE KEYS */;
INSERT  DELAYED INTO `student` VALUES (16,'hhah',3),(17,'22',3),(18,'ss',18);
/*!40000 ALTER TABLE `student` ENABLE KEYS */;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;

当一个线程对一个表执行DELAYED语句时,会创建出一个管理程序线程(如果原来不存在),对用于本表的所有DELAYED语句进行处理。

·线程会检查是否管理程序以前已获取了DELAYED锁定;如果没有获取,则告知管理程序线程进行此项操作。 即使其它线程对表有READ或WRITE锁定,也可以获得DELAYED锁定。但是管理程序会等待所有的ALTER TABLE锁定或FLUSH TABLE锁定,以确保表的结构是最新的。

·线程执行INSERT语句,但不是把行写入表中,而是把最终行的拷贝放入一个由管理程序线程管理的队列中。线程会提示出现语法错误,这些错误会被报告到客户端中。

·因为在插入操作之前,INSERT返回已经完成,所以客户端不能从服务器处获取重复记录的数目,也不能获取生成的行的AUTO_INCREMENT值。(如果您使用C API,则出于同样的原因,mysql_info()函数不会返回任何有意义的东西。)

·当行被插入表中时,二进制日志被管理程序线程更新。在多行插入情况下,当第一行被插入时,二进制日志被更新。

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 解析mysqldump的delay-insert选项
  • 解析MySQL中mysqldump工具的基本用法
  • mysqldump造成Buffer Pool污染的研究
  • Mysql导入导出工具Mysqldump和Source命令用法详解
  • Windows下实现MySQL自动备份的批处理(复制目录或mysqldump备份)
  • mysql mysqldump只导出表结构或只导出数据的实现方法
  • mysql数据库备份及恢复命令 mysqldump,source的用法
  • 运用mysqldump 工具时需要注意的问题
  • mysql备份恢复mysqldump.exe几个常用用例
  • mysql中mydumper 和 mysqldump对比使用详解

相关文章

  • 2018-12-05mysql手动删除BINLOG的方法
  • 2018-12-05centos 6.9安装mysql的实例教程
  • 2018-12-05JQuery控制图片由中心点逐渐放大效果
  • 2018-12-05得到自增列的下一个会插入的id
  • 2017-05-11mysql sharding(碎片)介绍
  • 2018-12-05mysql 导出select语句结果到excel文件遇到问题及解决方法_MySQL
  • 2018-12-05Oracle存储过程之数据库中获取数据实例_Oracle应用_脚本之家
  • 2017-05-11使用Perl DBI操作MySQL的一些建议
  • 2018-12-05oracle 常见等待事件及处理方法
  • 2018-12-05mysql error:#1062 Duplicate entry ‘***′ for key 1问题解决

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • Linux下MySQL5.7.18 yum方式从卸载到安装详解(图文)
    • 数据库中identity字段不必是系统产生的唯一值 性能优化方法(新招
    • MySQL全文索引应用简明教程
    • MySQL表数据文件损坏导致数据库无法启动详解
    • MySQL 常用命令
    • 如何使用Navicat连接MySQL数据库?
    • 【MySQL 13】数据库设计
    • Oracle动态交叉表生成
    • MySQL之-双机双向热备份的示例代码
    • PDO连接数据库及DSN详解

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有