代码改变世界

随笔分类 -  MySQL

MySQL主从之间具有不同数据类型的列的复制

2025-12-09 19:08 by abce, 28 阅读, 收藏,
摘要: 主库和从库同一表中对应列的数据类型理想情况下应相同。但只要满足特定条件,此要求并非始终要求被严格执行。通常可将特定数据类型的列复制到需具备相同类型及相同长度(适用时)或更大长度的另一列。例如:可将CHAR(10)列无障碍复制到另一CHAR(10)列,或从CHAR(10)列复制到CHAR(25)列。在 阅读全文

MySQL 如何存储临时文件

2025-12-02 11:15 by abce, 38 阅读, 收藏,
摘要: MySQL 如何存储临时文件 在 Unix 系统上,MySQL 使用 TMPDIR 环境变量的值作为存储临时文件的目录路径。如果 TMPDIR 未设置,MySQL 将使用系统默认值,通常为 /tmp、/var/tmp或 /usr/tmp。 在 Windows 系统上,MySQL 依次检查 TMPDI 阅读全文

理解mysql中的 local_infile 变量

2025-11-10 13:40 by abce, 135 阅读, 收藏,
摘要: local_infile 变量决定了数据库服务器是否能够读取并导入客户端本地文件系统中的文件。启用该变量后,开发人员和数据库管理员即可使用load data local infile命令——这是高效导入数据的关键功能。 当 local_infile 变量设置为on时,客户端可指示mysql服务器读取 阅读全文

MySQL 日志报错:Got packets out of order

2025-09-09 15:11 by abce, 235 阅读, 收藏,
摘要: 数据库错误日志偶尔会报如下错误: 2025-08-17T03:02:25.931797+08:00 225756739 [Note] [MY-010914] [Server] Got packets out of order MY-010914 错误和网络问题有关,比如: ·Aborted conn 阅读全文

MySQL 8.0 已废弃的功能

2025-08-27 11:33 by abce, 109 阅读, 收藏,
摘要: MySQL 8.0 即将达到其生命周期终止(EOL)阶段,而 MySQL 8.4 则成为焦点,这是首个长期支持(LTS)版本。在MySQL 8.4 中,MySQL 8.0 中一些功能已经被移除或过期。 mysql shell 提供了诸如 util.checkforserverupgrade() 之类 阅读全文

MySQL 8 的哈希连接

2025-06-02 08:11 by abce, 110 阅读, 收藏,
摘要: MySQL 8.0.18 引入了哈希连接。 什么是哈希连接 哈希连接是一种执行连接的方法,使用哈希表在两个输入之间找到匹配的行(输入可以是一个或多个表)。 它通常比嵌套循环连接更高效,特别是当其中一个输入可以放在在内存中时。为了了解它是如何工作的,将使用以下查询作为示例: SELECT given_ 阅读全文

MySQL 8.0 克隆插件及其原理

2025-06-02 08:11 by abce, 118 阅读, 收藏,
摘要: donor:192.168.137.1 recipient:192.168.137.2 1.安装克隆插件 可以在配置文件中配置插件,然后重启实例: [mysqld] plugin-load-add=mysql_clone.so 运行时安装克隆插件: mysql> install plugin clo 阅读全文

MySQL 保留字需要了解的内容

2025-04-09 11:09 by abce, 284 阅读, 收藏,
摘要: 什么是 MySQL 保留字 MySQL 保留字是预定义的 SQL 术语,数据库引擎将其解释为命令而不是标识符。这些词语包括 SELECT、JOIN 和 DELETE 等关键词语,它们定义了 MySQL 处理数据的方式,而不能用作表或列名。 保留字的存在是为了执行 MySQL 的语法规则,防止查询中出 阅读全文

min_examined_row_limit 对慢查询日志的影响

2025-01-20 20:49 by abce, 149 阅读, 收藏,
摘要: 执行了以下一个很慢的 SQL,但是在慢查询日志中却没有发现对应的 SQL 语句。 > select count(*) from myabc_abcde_expo_vv; + + | count(*) | + + | 509600169 | + + 1 row in set (3 min 3.76 s 阅读全文

MySQL 的内部临时表

2025-01-03 20:04 by abce, 526 阅读, 收藏,
摘要: 在有些情况下,MySQL Server 会在处理语句时创建内部临时表。用户无法直接控制这种情况何时发生。 通常情况下,内部临时表首先保留在内存中,以获得最佳查询性能。为避免内存分配过多,MySQL 提供了参数,可用于设置内存限制。当达到该限制时,内部临时表就会溢出到磁盘存储。MySQL 可能会为内存 阅读全文

MySQL 系统变量和 SET 命令

2024-12-08 18:32 by abce, 579 阅读, 收藏,
摘要: MySQL 的系统变量配置了 MySQL Server 如何运行,SET 语句用于修改系统变量。MySQL SET 命令有多种选项,用于指定如何以及何时修改系统变量。重要的是要了解这些修改如何反映在当前会话(连接)、以后的会话以及数据库服务器重启后。 用户可以使用 SET 修改的变量由其权限级别决定 阅读全文

MySQL 8 复制性能的增强

2024-11-15 14:22 by abce, 165 阅读, 收藏,
摘要: 新的复制时间戳 MySQL主从复制环境,最常见的任务是确保复制确实在进行,而且主从之间没有发生错误。常用的命令是 show slave status,该命令提供了从库线程的状态信息。因此,通常需要每个从库上执行 show slave status并检查输出结果。 输出内容中,有个参数指标 "Seco 阅读全文

MySQL从节点异常宕机重启后遇到主键冲突

2024-10-31 13:17 by abce, 245 阅读, 收藏,
摘要: 一台虚机在迁移过程中遇到点问题,然后运维做了重启的操作。重启后,发现该虚机中的 mysql 从库与主库的同步失败了。登录后查看,发现 sql thread 停止运行了: mysql> show slave status\G *************************** 1. row *** 阅读全文

MySQL的临时表空间

2024-10-30 11:24 by abce, 313 阅读, 收藏,
摘要: InnoDB使用会话临时表空间和全局临时表空间。 会话临时表空间 会话临时表空间用于存储用户创建的临时表,以及在InnoDB被配置为磁盘上内部临时表的存储引擎时由优化器创建的内部临时表。从 MySQL 8.0.16 开始,磁盘上内部临时表使用的存储引擎是InnoDB。(以前,存储引擎由interna 阅读全文

MySQL Error Log: Got packets out of order

2024-09-18 14:29 by abce, 738 阅读, 收藏,
摘要: 在MySQL错误日志中发现有偶发的如下信息: 2024-09-13T15:55:29.489324+08:00 26750047 [Note] [MY-010914] [Server] Got packets out of order 2024-09-13T15:55:29.544688+08:00 阅读全文

欺骗性的警告信息:InnoDB 行大小限制的奇特案例

2024-09-01 17:01 by abce, 497 阅读, 收藏,
摘要: 记得之前在测试环境遇到过类似的问题,让开发缩短了列的长度,但是没有进一步深究,今天看到这个文章,又做了一下模拟,发觉问题还存在,需要继续关注。以下是模拟学习的过程。原文地址:https://www.percona.com/blog/when-warnings-deceive-the-curious- 阅读全文

MySQL 持久化系统变量

2024-08-23 14:27 by abce, 215 阅读, 收藏,
摘要: set persist会将变量持久化到文件 mysqld-auto.cnf 文件中,该文件位于数据目录下。reset persist会移除 mysqld-auto.cnf 文件中持久化的变量。 MySQL 可以在运行时持久化全局系统变量。虽然许多系统变量可以在启动时通过 my.cnf 配置文件设置, 阅读全文

MySQL 通过set global设置变量的注意点

2024-08-21 13:25 by abce, 276 阅读, 收藏,
摘要: 今天有人问,为什么他修改动态变量 log_output 的时候,部分可以设置成功,部分设置失败,具体现象如下: root@localhost (none)>show variables like 'log_output'; + + + | Variable_name | Value | + + + 阅读全文

MySQL 组复制故障恢复的有效策略

2024-08-19 09:30 by abce, 615 阅读, 收藏,
摘要: 没有MGR环境,只是学学别人经验。原文地址:https://www.percona.com/blog/effective-strategies-for-recovering-mysql-group-replication-from-failures/ 组复制是一种容错/高可用复制拓扑结构,可确保在主 阅读全文

MySQL 如何拥有针对特定主机的单一用户账户

2024-07-24 17:35 by abce, 59 阅读, 收藏,
摘要: MySQL 如何拥有针对特定主机的单一用户账户? 通常,我们会创建用户名相同但主机/IP 不同的独立用户账户,如 <USER>@<HOST1>, <USER>@<HOST2> ....。<USER>@<HOSTn>。然后,给予这些用户相同的授权(权限/角色)和设置(密码、SSL 等)。 除了以上的做 阅读全文
1 2 3 4 5 ··· 17 下一页