
数据库
文章平均质量分 51
qq_23204557
这个作者很懒,什么都没留下…
展开
-
在一个Java项目里配置两个r2dbc数据源
【代码】在一个Java项目里配置两个r2dbc数据源。原创 2025-03-04 16:42:41 · 443 阅读 · 0 评论 -
使用SHOW PROCESSLIST和SHOW ENGINE INNODB STATUS排查mysql锁等待问题
然后我把87337kill掉了,然后重新发起了一个alter命令,但这个新的命令仍然一直卡住不能结束。如果有一个长时间运行的事务持有表的元数据锁(例如正在进行 ALTER TABLE、INSERT、UPDATE 或 DELETE 操作),其他试图访问同一表的操作将被阻塞,直到该事务完成。mysql 查表A一直不能结束,查别的表没有问题。可以看到ID87337为我发起的修改字段操作,此时它正处于等待元数据锁的状态。如果某个事务对表进行了修改但没有提交或回滚,其他会话将无法获得所需的锁,导致它们处于等待状态。原创 2025-02-17 17:09:22 · 554 阅读 · 0 评论 -
MySQL的不同SQL模式导致行为不同?
严格模式(STRICT_TRANS_TABLES)原创 2025-01-17 11:49:39 · 422 阅读 · 0 评论 -
典型的用户/角色/菜单表设计
DBeaver中角色/菜单的ER图:转载 2024-10-30 16:32:21 · 126 阅读 · 0 评论 -
解决r2dbc连mysql时timestamp字段的时区问题
在两个mysql库用相同SQL都建了某表,都有created_at字段:。但是在往此表insert记录时,B库的created_at字段比当前时间慢了8个小时,而A库无此问题。原创 2024-08-09 17:00:21 · 891 阅读 · 0 评论 -
mysql数据库迁移
我把backup.sql打开一看,系统把建表语句全都给我加上了COLLATE=utf8mb4_0900_ai_ci,而这句在我自己之前建表时是没有的。但是我在导入这步报错了:ERROR 1273 (HY000) at line 25: Unknown collation: ‘utf8mb4_0900_ai_ci’目标:把指定的mysql数据库(本例中名字为ai_platform)从源机器,迁移至目标机器。背景:源机器系统为ubuntu, 目标机器系统为centos。我全程都是在源机器上操作的。原创 2024-08-02 16:42:48 · 468 阅读 · 0 评论 -
Mybatis杂记
【代码】Mybatis杂记。原创 2024-06-06 15:55:27 · 345 阅读 · 0 评论 -
mysql分组排序
CASEmyColumn,FROM (SELECTFROMORDER BY但是应该是会报错Cause: java.sql.SQLException: sql injection violation, dbType mysql, druid-version 1.2.16, “multi-statement not allow : SET”…。原创 2024-04-30 17:31:15 · 446 阅读 · 0 评论 -
解决H2 database error: Database may be already in use: “Locked by another process“
以server模式而不是embedded起动。原创 2023-12-15 11:34:39 · 865 阅读 · 0 评论 -
客路旅行(KLOOK)面试(部分)(未完全解析)
用过Chatgpt的哪个版本,了解Chatgpt版本之间的差异吗什么是优雅部署?newBing: 服务启动时,检查依赖的组件或容器是否就绪,如果不就绪,等待或重试,直到就绪后再注册到服务中心,对外提供服务。(优雅上线)服务停止时,先从服务中心注销,通知上游服务不再发送新的请求,然后等待已有的请求处理完毕,最后关闭资源和连接。(优雅下线)项目里OAuth用的版本是1.0还是2.0。为什么要有授权码,第三方应用不能直接获取令牌吗。原创 2023-09-01 02:53:25 · 975 阅读 · 0 评论 -
MySQL Innodb的行锁(悲观锁)锁的什么?
记得锁的不是行而是索引,但是今天突然有个问题,锁的什么索引?一定是主键索引吗?看了一篇详细分析的文章(哪天也可以实操一下)转载 2023-06-30 22:17:43 · 162 阅读 · 0 评论 -
Orderly Network面试(部分)
在表中设计一个版本字段 version,第一次读的时候,会获取 version 字段的取值。然后对数据进行更新或删除操作时,会执行UPDATE …SET version=version+1 WHERE version=version。线程池里批量运行的任务想停掉,应该怎么做?一个情景题,同一个充值单,两个任务并发对它进行充值,如何防止重复充值?shutdownNow():关闭线程池,不再接受新的任务,并尝试停止正在执行的任务。shutdown():关闭线程池,不再接受新的任务,但会执行完已经提交的任务。原创 2023-06-19 22:25:11 · 563 阅读 · 0 评论 -
长鑫存储面试(部分)
分布式事务Seata XA, AT, TCC, Saga原创 2023-06-13 11:55:22 · 4849 阅读 · 1 评论 -
解决You can‘t specify target table ... for update in FROM clause
You can't specify target table ... for update in FROM clause原创 2023-02-26 05:36:21 · 710 阅读 · 0 评论 -
Innodb中的事务隔离级别、锁等
在RR级别中,通过MVCC机制,虽然让数据变得可重复读,但我们读到的数据可能是历史数据,是不及时的数据,不是数据库当前的数据!MySQL中InnoDB默认的隔离级别是可重复读(RR),不同于上述通用的标准,其没有幻读的问题。原创 2023-01-27 04:29:51 · 152 阅读 · 0 评论 -
一些SQL基本语法
给DB某表的字段改名。原创 2022-09-27 20:23:04 · 109 阅读 · 0 评论 -
JOOQ相关
JOOQ相关。case when else原创 2022-07-21 21:26:55 · 299 阅读 · 0 评论 -
使A表的全部记录与B表的记录对应(大意)
注:本文只适合mysql, 未在其它数据库上验证需求1,插入场景表有而SPM没有的;2,delete SPM中有而场景表没有的知识点:1 INSERT IGNORE; 2,LEFT/RIGHT JOIN和IS NULL原创 2022-06-22 18:24:06 · 257 阅读 · 0 评论 -
慢查询现象及解决
mysql数据库服务器cpu打满,依赖此数据库的服务各种不响应和报错。改索引,利用索引考虑设置loose_max_statement_time(最大查询执行时间)原创 2022-06-15 16:23:29 · 499 阅读 · 0 评论 -
联表delete性能,联表update
update/delete where in select 的性能问题原创 2022-06-15 14:38:02 · 196 阅读 · 0 评论 -
no way to alter column comment only?
想要改一个数量量很大的表的某个字段的comment, 结果发现似乎没有办法只改comment,而必须把column definition 重新定义一遍:stackOverFlow : Mysql alter comment column onlyMySQL specification :For column definition changes using CHANGE or MODIFY, the definition must include the data type and all attr原创 2022-01-05 18:12:57 · 515 阅读 · 0 评论 -
select非聚合字段group by
当select 非聚合字段 … group by 聚合字段,非聚合字段的取值是其第一个匹配到的字段内容如user_info表中有数据如下:进行以下查询:select max(user_id),user_id,id,grade from user_info group by grade 应会得到结果:参考资料 https://www.cnblogs.com/kingszelda/p/7142689.html...原创 2021-11-12 18:57:55 · 1157 阅读 · 0 评论 -
SQL杂记
SQL之case when else用法示例如下:select id, ...case when INFO.label is null then SH.label else INFO.label end as scenario_label... from ...SQL之in多列的用法示例如下:select ...where (SH.unify_id, SH.uuid) in (('ab', 'cd'), ('ef','gh'))...............原创 2021-09-06 21:15:13 · 172 阅读 · 0 评论 -
Mybatis自动去重,以及id vs result
今天大部分时间一直被一个问题困扰:当程序执行某Mapper.java的一个list函数,明明底层的SQL语句和ELK中的日志都显示返回了376条记录(如图1,图2),最后程序却只返回了209条。图1: 日志显示此list函数返回了376条记录图2: 日志有376条相关的ResultSet记录我一度以为这跟今天尝试使用的MyBatis分页插件PageHelper(使用了MySql的limit)有关,后面发现不是。即使不使用PageHelper,问题依旧。而且我发现一点:实际返回的209条记录里,似乎原创 2021-09-04 00:22:31 · 4116 阅读 · 0 评论 -
left join on,where中的过滤条件放置问题
比如有以下sql联表查询命令:select * from `scenario_holder` SH left join `condition_holder` CH on SH.id=CH.scenario_holder_id and CH.policy_holder_id = 0 and SH.`deleted` = 1查看查询结果,CH.policy_holder_id = 0这句起了作用,而SH.deleted= 1这句则没起作用。所以left join on中的条件不会过滤左原创 2021-08-12 15:11:33 · 1545 阅读 · 1 评论 -
MySQL Online DDL
为什么MySQL5.6及其以上的版本中,给表增加字段之类的DDL操作,不再阻塞 DML 操作呢?这是因为这版本开始支持Online DDL:https://cloud.tencent.com/developer/article/1005177原创 2021-07-23 12:48:35 · 100 阅读 · 0 评论 -
Convertlab(欣兆阳信息科技有限公司)面试(部分)
你们的系统是跑在私有云还是IDC上?有用到容器化吗?有用到k8s吗?关系型数据库和列式数据库的优缺点。如果要做分析和查询,哪种数据库更合适?为什么?参考答案:在行式数据库上做一些报表、分析的时候,大家又发现这种存储格式使用效率不高。例如:统计各省份的销售额和利润同比变化;按照部门统计业绩完成情况等等,都是在其中某些字段上的操作,行式数据库不分情况一律按照页面读取数据的方式,在只分析销售额和利润的时候,把每一份合同的其他信息,如客户名称,签约时间,客户经理等等也统统都读了进来,浪费了大量宝贵的I/O。1.原创 2021-05-13 00:01:31 · 1365 阅读 · 2 评论 -
InnoDB vs MyISAM
主要参考资料:JavaGuide面试突击版v4.0、MyISAM与InnoDB性能测试对比、《高性能Mysql 第三版》我的笔记比较项InnoDBMyISAM支持的锁表锁,行锁表锁是否支持MVCC是否是否支持事务是否是否支持外键是否count(*)专门存储性能单进程情况下快索引一级索引为聚簇索引,其它为非聚簇索引非聚簇索引。详见《高性能Mysql 第三版》...原创 2021-03-16 07:37:58 · 130 阅读 · 0 评论 -
《专题三分布式系统》之《第四章 数据存储层优化(下)——数据库集群拆分》之 《第十节 Sharding-jdbc数据库操作增强类库》
《4.10.1-Sharding-JDBC概览》8分 架构图:原创 2020-12-19 18:08:03 · 135 阅读 · 1 评论 -
解决因权限问题导致binlog的设置无效问题
整个一天为了这个问题,撞了各种墙,现在总算是暂时解决了。一开始我为了配mysql的主服务器,按教程配置/etc/my.cnf :log_bin=/var/log/mysql5-bin.logserver_id=1但发现配置死活不生效。最后我发现不仅是这log_bin的配置无效,连my.cnf这文件里的其它配置似乎也没有生效。然后我发现这跟linux的用户权限有关,装mysql时不知怎的似乎自动有了个叫mysql的linux用户,mysql的文件目录的文件所有者和group都是这个mysql。然后我原创 2020-12-19 00:56:44 · 1501 阅读 · 2 评论 -
《专题三分布式系统》之《第四章 数据存储层优化(下)——数据库集群拆分》之 《第九节 Mycat数据库集群中间件》
《4.9.1-Mycat入门》15分 Mycat架构:《4.9.2-Mycat读写分离》逻辑概念:schema->table的needAddLimit属性默认为true:14 50 childTable标签,避免跨库join19 40 使用jdbc的话要准备jar包:dataHost中与读写分离、负载均衡相关的几个配置:17 50 balance,负载均衡:18 15 writeType:23分 writeHost与re原创 2020-12-18 02:17:54 · 265 阅读 · 1 评论 -
在Centos7上安装Mycat
安装jdk1.8下载jdk安装包到linux机器上root用户身份安装,命令:rpm -ivh jdk-8u162-linux-x64.rpm jdk被安装在 /usr/java目录下配置JAVA环境变量,命令:vi /etc/profile在文件末尾追加:export JAVA_HOME=/usr/java/latestexport CLASSPATH=.:$JAVA_HOME/libexport PATH=$JAVA_HOME/bin:$PATH保存退出后,用命令:source /原创 2020-12-17 23:28:24 · 210 阅读 · 0 评论 -
《专题三分布式系统》之《第四章 数据存储层优化(下)——数据库集群拆分》之 《第八节 数据库中间件设计篇》
《4.8.1-数据库中间件设计核心理念篇》阿里云Mysql性能测试结果 :《4.8.2 数据库中间件设计要点》9 30 水平拆分的分片规则:数据库中间件的两种实现模式:客户端模式:服务端(代理)模式:常用数据库中间件:...原创 2020-12-17 17:22:55 · 111 阅读 · 0 评论 -
《专题三分布式系统》之《第四章 数据存储层优化(上)-数据库优化》之 《第六节 数据变更注意事项》
《4.6.2-生产环境改表结构》pt-online-schema-change:《4.6.3-insert导致的死锁》视频里的死锁成因没讲清楚,三个事务都在insert,应该申请X锁,怎么就成了S锁?这里的“五、insert死锁场景分析”解释了:事务T1成功插入记录,并获得索引id=6上的排他锁。紧接着事务T2、T3也开始插入记录,申请排他锁,但由于唯一索引冲突,各自请求的排他锁转成共享锁。(但是为什么排他锁会转成共享锁?这是什么机制?)T1回滚释放索引id=6上的排他锁,T2和T3都要请求索引原创 2020-12-16 20:11:54 · 149 阅读 · 1 评论 -
《专题三分布式系统》之《第四章 数据存储层优化(上)-数据库优化》之 《第五节 详解数据库锁》
《4.5.1-MVCC多版本并发控制》InnoDB MVCC的实现基于Undo log?《4.5.2.1-数据库-行级锁》读锁与写锁行共享锁、 排他锁(X锁,写锁,独占锁)数据行被事务添加 S 锁后,其他事务可以添加 S 锁,但是不能添加 X 锁select… lock in share mode;insert into select …语句,对SELECT的表上扫描到的数据加LOCK_S锁X 锁允许持有锁的事务更新或删除行。例:update、delete、select … from up原创 2020-12-16 03:15:47 · 357 阅读 · 0 评论 -
《专题三分布式系统》之《第四章 数据存储层优化(上)-数据库优化》之 《第三节 SQL查询定位和优化》、《第四节 SQL查询技巧分析》
《4.3.1-慢SQL日志分析》0:40 慢查询日志的相关配置:原创 2020-12-14 22:35:32 · 111 阅读 · 0 评论 -
解决因用户权限而无法连接MySQL5.7/8.0
完全参考https://www.cnblogs.com/xujingyang/p/9479811.html的授权法:GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'MyNewPass4!' WITH GRANT OPTION;FLUSH PRIVILEGES;就可以使用该账号从任何主机连接到此mysql服务器原创 2020-12-14 16:10:26 · 502 阅读 · 0 评论 -
《专题三分布式系统》之《第四章 数据存储层优化(上)-数据库优化》之 第一、二节
《4.2.1-Mysql运行结构视频》9:50 各存储引擎:原创 2020-12-11 19:38:11 · 110 阅读 · 0 评论 -
《高性能Mysql 第三版》笔记
p46, 1.3.3 事务日志: 预写式日志(Write-ahead logging)p46, Mysql默认采用自动提交p49, InnoDB的MVCC实现:p54, MyISAM对整张表,而不是行加锁原创 2021-01-11 13:19:20 · 491 阅读 · 0 评论 -
Mybatis基础视频笔记
https://study.163.com/course/courseMain.htm?courseId=1005847005《课时1》我用的相关资源 :mybatis: https://github.com/mybatis/mybatis-3/releases/tag/mybatis-3.4.6oracle11g:Oracle Database Software 页上的Oracle Database 11g Release 2 (11.2.0.1.0)。具体操作基本按照https://www.cnb原创 2020-10-20 03:31:40 · 170 阅读 · 0 评论