程序员茄子
全部
编程
代码
资讯
案例
综合
联系我们
mysql 相关技术文章
php
mysql
shell
go
vue
css
api接口对接
支付接口对接
MySQL 9.7 LTS 升级注意:innodb_log_writer_threads 默认值按 log_bin 与 CPU 数分档,两个旧变量被移除
编程
MySQL 9.7 LTS 升级注意:innodb_log_writer_threads 默认值按 log_bin 与 CPU 数分档,两个旧变量被移除
2026-10-06 21:02:57
MySQL 9.7 LTS 升级要点:innodb_log_writer_threads 默认值改为按 log_bin 与可用逻辑 CPU 数分档判定;group_replication_allow_local_lower_version_join、replica_parallel_type 被移除,配置残留会让 mysqld 启动失败。附判定表与升级前扫描命令。
MySQL
9.7
InnoDB
升级
MySQL 没有 MERGE/RETURNING:REPLACE、ON DUPLICATE KEY UPDATE、INSERT IGNORE 的坑与选型
编程
MySQL 没有 MERGE/RETURNING:REPLACE、ON DUPLICATE KEY UPDATE、INSERT IGNORE 的坑与选型
2026-10-05 00:05:38
标准 SQL 有 MERGE,MySQL 至今没有,也没有 RETURNING。本文对照 MySQL 三件套 upsert(REPLACE、INSERT ... ON DUPLICATE KEY UPDATE、INSERT IGNORE)的实际语义:REPLACE 触发删除+插入、自增空洞、外键级联与默认值重置;ON DUPLICATE KEY UPDATE 的 affected rows 0/1/2 与 8.0.20 后行别名写法;MariaDB 10.5+ 的 RETURNING 与限制。附选型对照表。
MERGE
RETURNING
MySQL
upsert
ON
DUPLICATE
KEY
UPDATE
REPLACE
INTO
MariaDB
SQL
数据库
MySQL 社区版 8 月安全更新:3 个组件族受影响,最高 CVSS 8.2,4 条可未认证远程触发
资讯
MySQL 社区版 8 月安全更新:3 个组件族受影响,最高 CVSS 8.2,4 条可未认证远程触发
2026-10-02 21:03:49
Oracle 2026 年 8 月 MySQL 社区版安全更新:8 条、3 个组件族、4 条可未认证远程触发,最高 CVSS 8.2,涉及 MySQL Cluster(NDB Operator)、MySQL Shell(libssh)、Connector/ODBC。本文列清受影响版本范围,并补上 7 月 X Plugin 可被接管(CVE-2026-60316)与 Server: Optimizer 可打崩条目,附自查与打补丁思路。
MySQL
安全
数据库
运维
CVE
MySQL 8.4 LTS 单节点、主从、双主搭建:8.0 旧命令在 8.4 会直接报语法错误
编程
MySQL 8.4 LTS 单节点、主从、双主搭建:8.0 旧命令在 8.4 会直接报语法错误
2026-09-30 21:32:03
基于 mysql-8.4.11 LTS 从零搭单节点、主从、双主:整理 8.0→8.4 的语句/参数/列名改名对照(SHOW BINARY LOG STATUS、CHANGE REPLICATION SOURCE TO、Replica_* 等),含 caching_sha2_password 复制账号的 RSA 公钥坑、GTID 复制、半同步插件改名、Asynchronous Connection Failover 与 MHA/MMM 不可用的选型结论。
MySQL
主从复制
GTID
半同步复制
InnoDB
数据库运维
MySQL 9.7.0 两处 InnoDB 修复:统计为空时丢索引路径,并行扫描回退踩断言
资讯
MySQL 9.7.0 两处 InnoDB 修复:统计为空时丢索引路径,并行扫描回退踩断言
2026-09-30 21:03:31
MySQL 9.7.0(LTS) 两处 InnoDB 修复的故障特征与排查:dict_stats_analyze_index() 在空索引统计被并发读到或出错致空统计时丢弃最优索引访问路径(Bug #33472935),并行扫描线程创建失败回退单线程触发 row0pread.h:306 断言(Bug #38325137),附 information_schema.STATISTICS/ANALYZE TABLE/error log 排查手法。
MySQL
数据库
性能
MySQL 9.7.0 LTS:社区版拿到 Hypergraph Optimizer 与 JSON Duality Views DML
代码
MySQL 9.7.0 LTS:社区版拿到 Hypergraph Optimizer 与 JSON Duality Views DML
2026-09-28 21:05:11
MySQL 9.7.0 LTS 把多项原企业版能力下放到社区版:Hypergraph Optimizer 可用 optimizer_switch 在各作用域开启、JSON Duality Views 支持 insert/update/delete、复制可观测性与 PKBDF2 存储格式等,附开启命令与适用判断,并列出仍属企业版的 Dynamic Data Masking。
MySQL
数据库
优化器
社区版
LTS
MySQL 9.7 的 caching_sha2_password:切到 PBKDF2_SHA512 后,enforce 会把账号按在登录口改密
综合
MySQL 9.7 的 caching_sha2_password:切到 PBKDF2_SHA512 后,enforce 会把账号按在登录口改密
2026-09-26 21:04:34
MySQL 9.7 的 caching_sha2_password 新增 PBKDF2_SHA512 存储格式,用 caching_sha2_password_storage_format 切换首选格式;开启 enforce 会让非首选格式账号登录后强制改密。本文给出两个变量、SQL 操作、副本升级顺序与服务账号风险。
MySQL
认证
安全
升级
运维
MySQL 9.7:innodb_log_writer_threads 默认值改为按 log_bin 和逻辑 CPU 数判断
综合
MySQL 9.7:innodb_log_writer_threads 默认值改为按 log_bin 和逻辑 CPU 数判断
2026-09-26 21:04:03
MySQL 9.7 里 innodb_log_writer_threads 的默认值改为按 log_bin 是否开启、以及可用逻辑 CPU 数共同判断:开 binlog 以 32 核为界,关 binlog 以 4 核为界。本文给出判断伪代码、受影响场景,以及 binlog_transaction_dependency_history_size 上调等 9.7 变化。
MySQL
InnoDB
配置
升级
运维
MySQL 慢查询日志排错:订单查询 Query_time 从 15.2s 到 0.02s
案例
MySQL 慢查询日志排错:订单查询 Query_time 从 15.2s 到 0.02s
2026-09-25 21:07:25
一次电商订单查询接口超时的排错记录:用慢查询日志定位到 Rows_examined 50 万、Rows_sent 仅 100 的全表扫描 SQL,建联合索引 (category_id,status,sales) 并去掉 SELECT * 后 Query_time 从 15.2s 降到 0.02s。文中给出慢查询日志相关参数的动态开启语句与 pt-query-digest 用法。
MySQL
慢查询
索引
性能优化
运维
MySQL 8.4/9.7 备份恢复:物理备份别指望跨大版本,工具版本要逐版本对齐
案例
MySQL 8.4/9.7 备份恢复:物理备份别指望跨大版本,工具版本要逐版本对齐
2026-09-25 21:05:23
MySQL 8.4/9.7 备份恢复的兼容性坑:物理备份不能跨大版本恢复,mysqlbackup 与 XtraBackup 版本必须与实例大版本逐版本对齐,备份账号要用 caching_sha2_password 且需 BACKUP_ADMIN,apply-log 准备阶段不能跳。文末给出可复制的落地检查项与每月恢复演练步骤。
MySQL
备份恢复
XtraBackup
运维
PITR
MySQL 9.6 把外键检查挪到 SQL 层:binlog 更全了,级联行为得重新验证
编程
MySQL 9.6 把外键检查挪到 SQL 层:binlog 更全了,级联行为得重新验证
2026-09-24 21:13:14
MySQL 9.6 起外键约束与级联操作从 InnoDB 移到 SQL 层(WL #11249),换来更完整的 binlog 与可视性。说明这项改动对 CDC/复制/审计链路的影响、用 innodb_native_foreign_keys 回退旧行为的注意点(默认值/作用域待实测),以及升级前的检查清单。
MySQL
InnoDB
复制
数据库
ALTER TABLE 卡在 Waiting for table metadata lock:改表前的三处预查与执行参数
编程
ALTER TABLE 卡在 Waiting for table metadata lock:改表前的三处预查与执行参数
2026-09-23 21:31:58
线上 ALTER TABLE 卡在 Waiting for table metadata lock,往往不是 DDL 本身慢,而是前面有长事务占着 MDL。本文给出改表前的三处预查(innodb_trx 长事务、performance_schema.metadata_locks 持锁线程、INNODB_TABLES.TOTAL_ROW_VERSIONS 判断 INSTANT 上限)、执行参数(短 lock_wait_timeout 与显式 ALGORITHM/LOCK),以及 MDL 与行锁两套超时参数的区别,和主从延迟观察要点。
MySQL
InnoDB
DDL
元数据锁
运维
从库 SQL 线程报 1534/1197:max_binlog_cache_size 不足的复现与修复
编程
从库 SQL 线程报 1534/1197:max_binlog_cache_size 不足的复现与修复
2026-09-23 21:02:57
从库复制中断,error log 出现 Writing one row to the row-based binary log failed、Error_code 1534,别按数据冲突处理。根因是从库开了 log_slave_updates,写本地 binlog 受 max_binlog_cache_size 限制。文中区分 1197+1534 与仅 1534 两种形态,给出调整参数并 START SLAVE 的修复路径。
MySQL
主从复制
排障
binlog
MySQL 死锁不报 1213:先确认 innodb_print_all_deadlocks 有没有开
编程
MySQL 死锁不报 1213:先确认 innodb_print_all_deadlocks 有没有开
2026-09-21 21:04:15
线上死锁常伪装成连接超时而非 1213。本文整理 MySQL 死锁的六种定位手段(错误日志、SHOW ENGINE INNODB STATUS、performance_schema、慢查询联动等)、常见根因类型,以及 innodb_lock_wait_timeout 与 innodb_deadlock_detect 的取舍。
MySQL
死锁
InnoDB
运维排查
跨洋主从复制延迟 300 秒:sysctl 把接收窗口焊死在 42KB
案例
跨洋主从复制延迟 300 秒:sysctl 把接收窗口焊死在 42KB
2026-09-20 20:01:10
MySQL 跨洋主从复制平时延迟为 0,一跑归档批处理就飙到 300 秒。根因是从国内同城机房抄来的 sysctl 把 net.core.rmem_max 焊死在 87380,152ms RTT 下接收窗口只有 42KB,吞吐被压到 279KB/s。本文用 ss -tinm 逐层定位,按 BDP 重算内核参数,并给 binlog 开 zstd 压缩。
MySQL
主从复制
TCP调优
运维排查
sysctl
binlog
支付状态与订单状态分离:三张表、三层幂等与最终一致性落地
综合
支付状态与订单状态分离:三张表、三层幂等与最终一致性落地
2026-09-19 21:32:46
支付系统为什么要把订单状态和支付状态分表:t_order_info、t_pay_record、t_pay_callback_log 三张表与唯一索引设计,三层幂等(DB 唯一索引 / Redis 锁 / 状态机前置校验)各拦截什么,以及状态机 + MQ + 定时查单的最终一致性闭环。
支付系统
MySQL
幂等
状态机
RocketMQ
maxActive 和 max_connections 都设 151:导出功能打满 MySQL 连接池的复盘
案例
maxActive 和 max_connections 都设 151:导出功能打满 MySQL 连接池的复盘
2026-09-18 21:05:18
订单服务凌晨 P99 破 5 秒、MySQL 连接被榨干,根因是新上线的历史订单导出把连接按住一分多钟,而 maxActive 与 max_connections 都设成 151、没有余量。本文复盘排查过程,给出查询超时、读写分离、异步任务队列三个方案与 maxActive 按 60%-80% 设置的取舍。
MySQL
运维
故障排查
性能优化
连接池
误删 98 张表后靠 binlog 恢复:从定位 end_log_pos 到资金对账的完整复盘
案例
误删 98 张表后靠 binlog 恢复:从定位 end_log_pos 到资金对账的完整复盘
2026-09-18 21:03:27
一份 MySQL 生产库被 98 张表结构导出文件误执行后、靠 binlog 做时间点恢复(PITR)的完整复盘:从停库取证、grep DROP TABLE 定位 end_log_pos、构造可信基线、沙箱回放与错误码分类,到外键孤儿检查、账本重建余额与字符集双重编码修复,附可复用脚本骨架。
MySQL
数据库
运维
故障排查
数据恢复
UCloud 开源 UDB MySQL MCP Server:用自然语言查实例、规格和备份,默认只读
编程
UCloud 开源 UDB MySQL MCP Server:用自然语言查实例、规格和备份,默认只读
2026-09-18 20:00:36
UCloud 开源的 UDB MySQL MCP Server,把云数据库实例、规格、价格、备份的查询与管理封装成 MCP 工具,供 Cursor、Claude 等客户端调用。默认只读,可切 readwrite/admin;给出 Go 源码编译与 Docker+SSE 两种接入配置和 API 密钥获取方式。
MCP
MySQL
Go
云数据库
UCloud
MySQL 库表设计规范:金额用 decimal、状态用 tinyint、索引守住最左前缀
编程
MySQL 库表设计规范:金额用 decimal、状态用 tinyint、索引守住最左前缀
2026-09-18 00:04:29
一份可落地的 MySQL 库表设计规范:建库参数与命名、必备标准字段、字段类型选型(金额用 decimal、状态用 tinyint、时间用 datetime)、约束与索引规范(最左前缀、索引失效清单),并给出用户主表、订单主表、订单明细三张可直接使用的建表 DDL。
数据库设计
MySQL
表结构设计
索引优化
建表规范
MySQL 9.7.0 LTS 下放 Hypergraph 优化器:社区版也能开,JSON Duality Views 可做 DML
资讯
MySQL 9.7.0 LTS 下放 Hypergraph 优化器:社区版也能开,JSON Duality Views 可做 DML
2026-09-15 21:02:47
MySQL 9.7.0 LTS 把 Hypergraph 优化器、JSON Duality Views 的 DML、OpenTelemetry 遥测等原企业版能力下放到社区版,并引入 replica_allow_higher_version_source。本文给出 Hypergraph 的四种开启写法、duality view 的表级 DML 权限标签,以及 9.6/9.7 分支值得留意的行为变更。
MySQL
数据库
版本发布
性能优化
MySQL 9.6.0:MD5()/SHA1() 移入 classic_hashing 组件,外键约束交给 SQL 层
代码
MySQL 9.6.0:MD5()/SHA1() 移入 classic_hashing 组件,外键约束交给 SQL 层
2026-09-13 21:03:09
MySQL 9.6.0(2026-01-20)几处影响存量代码的改动:MD5()/SHA1() 移入 classic_hashing 组件需 INSTALL COMPONENT、外键约束与级联从 InnoDB 移到 SQL 层(可用 innodb_native_foreign_keys 回退)、新增 container_aware 启动选项、GTID set 新数据结构与 Performance Schema 临时锁表。
MySQL
数据库
升级
外键
安全
MySQL 升级选轨道:26.7 起日历版本 YY.M.P,跨 LTS 被拦、clone 只认相邻 LTS,线程池进社区版
编程
MySQL 升级选轨道:26.7 起日历版本 YY.M.P,跨 LTS 被拦、clone 只认相邻 LTS,线程池进社区版
2026-09-13 20:02:24
MySQL 9.7 之后改用日历版本号 YY.M.P,26.7.0 首个落地。梳理 Innovation 与 LTS 两轨道的版本号规则、升级/降级谱系(不可跨 LTS、Innovation 不能跨 major、降级需 logical dump/load)、clone 插件边界、repo 轨道配置,以及线程池插件下放社区版和 thread_pool_max_unused_threads 默认值变化。
MySQL
数据库
版本升级
运维
DBA
线程池
MySQL 8.0 升 8.4 LTS 复盘:停机不到 2 分钟,踩了认证插件、废弃参数、GPG 密钥三个坑
编程
MySQL 8.0 升 8.4 LTS 复盘:停机不到 2 分钟,踩了认证插件、废弃参数、GPG 密钥三个坑
2026-09-12 21:01:27
MySQL 8.0 EOL 后升级到 8.4 LTS 的完整复盘:mysql_native_password 默认禁用导致连接全挂、expire_logs_days 被移除导致实例起不来、仓库 GPG 密钥过期。附升级前检查 SQL、ALTER USER 改认证插件、mysqld --validate-config 校验与回滚注意点。
MySQL
数据库升级
运维
大家都在搜索什么?
devops
易支付
一个官网+多少钱
统一接受回调
统一回调
python
sub
node
宝塔日志
mysql
shell
ElasticSearch
css
vue
api接口对接
2025
支付接口对接
go
php
php回调
上一页
1
2
3
4
下一页
共 4 页
到第
页
确定