
MySQL
文章平均质量分 74
zjcxc
这个作者很懒,什么都没留下…
展开
-
也谈 xtrabackup 的 DBD::mysql module is not installed 问题
xtrabackup 备提示 DBD::mysql module is not installed,是否一定要安装perl-DBD-MySQL呢?原创 2022-05-29 18:32:17 · 1553 阅读 · 1 评论 -
MySQL 查询避坑指南
在MySQL查询中,你可能会不经意的掉入某些坑中,甚至某些坑可能让你不死也掉半条命。原创 2022-04-21 18:42:35 · 1141 阅读 · 0 评论 -
MySQL Load data local infile蜜罐
MySQL Load data local infile蜜罐的个人理解与规避原创 2022-04-16 19:05:56 · 7227 阅读 · 0 评论 -
MySQL 8.0踩坑之双写负优化
最近,在MySQL中LOAD数据的时候遇到了一个诡异的问题,LOAD一个1G的文件(LOAD到表之后,表的数据文件约2G)。在5.7版本中一切正常,不到3分钟完成。将版本切换到8.0之后,性能急剧下降,1个小时也没有完成任务。 MySQL 5.7和8.0都使用的是同一台虚拟机,并且在部署MySQL时,都是基于相同的保存点进行,所以可以基本上可以排除是虚拟机和操作系统的问题。 通过对比5.7与8.0的配置,除了两者互不存在的一些配置项,以及一些明显与性能无关的...原创 2021-10-23 12:14:59 · 1034 阅读 · 0 评论 -
欢迎光临 https://github.com/zjcxc
在 github 上搭了个窝,欢迎大家光临zjcxc (github.com) 发布的第一个开源代码源自于对mysqldump的功能改造增强zjcxc/mysqldump (github.com)基于5.7.35 修改实现的功能:为 -A,--all-databases 选项增加数据库过滤(排除)功能 为 -w,--where 选项增加条件扩展,当指定的条件以#打头时,表示后面跟的是存储过程,由存储过程返回当前表的筛选条件。存储过程包含两个固定参数:dbnam...原创 2021-09-11 16:32:59 · 402 阅读 · 0 评论 -
让myqldump为不同的表使用不同的条件
mysqldump支持使用-w,--where参数为要dump的表定义条件,但这个条件是全局的。也就是说,无论你要dump的是单表,还是多表,所有的表都使用这个条件。 如果我们要dump多个表,并且不同的表要使用不同的条件,或者是仅想为dump中,某些表指定条件的情况下,dump就无法做到了。如果不考虑数据一致性,那么还可以根据条件分别导出各表。如果要保持所有表的数据一致性,那么除了分批,还要考虑追加dump过程中产生的binlog日志,这就比较头大了。 ...原创 2021-08-21 15:55:26 · 1052 阅读 · 3 评论 -
mysqldump的几个坑
记录一下在mysqldump使用中遇到的几个坑。一号小坑(和中彩票差不多的机率会遇到):对象名中包含换行符,且dump包含 --routines 选项时,会出现类似下面的错误:---- Dumping routines for database 'a-- b'--mysqldump: Couldn't execute 'use `a\nb`': Unknown database 'a\nb' (1049)二号小坑(遇不遇得上看运气):由于mysqldump在导出数据时,是按show dat...原创 2020-12-05 18:19:38 · 1431 阅读 · 0 评论 -
说说阿里云RDS MySQL的一些缺点
RDS MySQL用了有一小段时间了,来说一说它的缺点(优点是不用我提的,它的文档、客服、技术支持人员都会告诉您) 首先说说它对比原版所做的优化改进,说到这方面的时候,应该会有很多人说,阿里的技术牛,他在这方面肯定做了很多优化,用RDS一定比官方的跑得快,但事实上,如果你真正看过它与官方版本的功能对比,你会发现,RDS所列出来的功能优势,是体现在外部功能扩展上,核心的优化并没有提(也许你会认为它是谦虚),但事实上,我们拿了一些常见的操作,在RDS与官方版本之间做对比,我们并...原创 2020-07-25 16:38:14 · 2561 阅读 · 1 评论 -
MySQL中单句实现无限层次父子关系查询
在 SQL Server 中,使用 CTE 表达式很容易做到无限层次父子关系查询;在不支持CTE表达式的版本中,借助函数递归也可以轻松实现。 在 MySQL 中,这个需求的实例稍显复杂, MySQL 中没有支持递归的查询,没有表值函数,函数不支持递归,所以通常都是用循环实现,显得比较别扭。今天看到一个用单条语句实现的递归查询,想法独特,分享一下。表结构和数据CREATE TABLE table1(原创 2017-12-16 14:08:28 · 21946 阅读 · 17 评论 -
一个子查询引发的血案
最近再次看到一个帖子,说使用类似如下子查询删除数据,结果发现所有的数据都被删除了 DELETE FROM a WHERE id in ( SELECT id FROM b ) 粗看这是一个没有任何毛病的删除操作,只会删除 a,b 表 id 匹配的记录。但实际上这个查询暗藏杀机,如果 b 表恰好有数据,并且b表没有字段id,这个操作的结棍是什么? 很显然,如果b表没有id字段,并且有原创 2017-12-16 13:54:34 · 1867 阅读 · 0 评论