MySQL 错误需要补救措施:[警告] 无效(旧?)表或数据库名称 '#sql-'

Gop*_*ath 5 mysql innodb myisam replication

我们的生产环境中有一个主从复制。一开始在master上的mysql错误日志中发现了这个错误,后来在slave上发现了这个错误。至于所有的复制,数据库都很好,从属更新运行良好。尽管如此,此错误仍会出现在 mysql 错误日志中。我只是用谷歌搜索并检查了。这是一个错误。

它是否会对数据库产生任何影响,因为我们有多个复制主从架构的数据库实例?

错误日志:

111116 10:47:57 [Warning] Invalid (old?) table or database name '#sql-3d6f_122a#P#p7'
111116 10:47:57 [Warning] Invalid (old?) table or database name '#sql-3z8g_122a#P#p8'
111116 10:47:57 [Warning] Invalid (old?) table or database name '#sql-3z8g_122a#P#p9'
111116 10:47:57 [Warning] Invalid (old?) table or database name '#sql-3z8g_122a#P#p10'
111116 10:48:29 [Warning] Invalid (old?) table or database name '#sql-3z8g_122a#P#p1'
111116 10:48:29 [Warning] Invalid (old?) table or database name '#sql-3z8g_122a#P#p2'
111116 10:48:29 [Warning] Invalid (old?) table or database name '#sql-3z8g_122a#P#p3'
111116 10:48:29 [Warning] Invalid (old?) table or database name '#sql-3z8g_122a#P#p4'
111116 10:48:29 [Warning] Invalid (old?) table or database name '#sql-3z8g_122a#P#p5'
111116 10:48:29 [Warning] Invalid (old?) table or database name '#sql-3z8g_122a#P#p6'
111116 10:48:29 [Warning] Invalid (old?) table or database name '#sql-3z8g_122a#P#p7'
111116 10:48:29 [Warning] Invalid (old?) table or database name '#sql-3z8g_122a#P#p8'
111116 10:48:29 [Warning] Invalid (old?) table or database name '#sql-3z8g_122a#P#p9'
111116 10:48:29 [Warning] Invalid (old?) table or database name '#sql-3z8g_122a#P#p10'
111116 10:48:46 [Warning] Invalid (old?) table or database name '#sql-3z8g_122a#P#p1'
111116 10:48:46 [Warning] Invalid (old?) table or database name '#sql-3z8g_122a#P#p2'
111116 10:48:46 [Warning] Invalid (old?) table or database name '#sql-3z8g_122a#P#p3'
111116 10:48:46 [Warning] Invalid (old?) table or database name '#sql-3z8g_122a#P#p4'
.....................................................................................;
Run Code Online (Sandbox Code Playgroud)

我们的错误处于警告状态。但是当我用谷歌搜索时,我也可以看到标签 [error] 状态:

[ERROR] Invalid (old?) table or database name 't1#p#p4'
[ERROR] Invalid (old?) table or database name 't1#p#p2'
[ERROR] Invalid (old?) table or database name 't1#p#p2'
Run Code Online (Sandbox Code Playgroud)
  • 我有一个大约 70 和数千个表的多个 Db 实例。在多个实例中追踪特定表的查询是什么?

    • 有没有人遇到过这个错误并解决了这个问题。我想很快我所有的奴隶都会赶上这个问题。对生产环境会有什么影响...?
  • 启用 innodb_lock_monitor 会导致打印出许多这些消息!创建表 innodb_lock_monitor(a int)engine=innodb; 如果是这样,我们handnt 启用。我也曾在innodb引擎中看到过状态。没有与错误/警告相关的身份迹象。

  • “您是否使用以前版本中创建的数据库启动 MySQL 服务器?” 但我没有这样做。它在 5.1.39 版本中运行

  • 没有插件升级。那么这个错误/错误的根本原因和补救措施可能是什么..?

Rol*_*DBA 3

在这种情况下存在错误有两个原因:

111116 10:48:29 [Warning] Invalid (old?) table or database name '#sql-3z8g_122a#P#p1' 
111116 10:48:29 [Warning] Invalid (old?) table or database name '#sql-3z8g_122a#P#p2' 
111116 10:48:29 [Warning] Invalid (old?) table or database name '#sql-3z8g_122a#P#p3' 
111116 10:48:29 [Warning] Invalid (old?) table or database name '#sql-3z8g_122a#P#p4' 
111116 10:48:29 [Warning] Invalid (old?) table or database name '#sql-3z8g_122a#P#p5' 
111116 10:48:29 [Warning] Invalid (old?) table or database name '#sql-3z8g_122a#P#p6' 
111116 10:48:29 [Warning] Invalid (old?) table or database name '#sql-3z8g_122a#P#p7' 
111116 10:48:29 [Warning] Invalid (old?) table or database name '#sql-3z8g_122a#P#p8' 
111116 10:48:29 [Warning] Invalid (old?) table or database name '#sql-3z8g_122a#P#p9' 
111116 10:48:29 [Warning] Invalid (old?) table or database name '#sql-3z8g_122a#P#p10' 
Run Code Online (Sandbox Code Playgroud)

原因#1:任何以 开头的表#sql都是临时表。如果这些表仍然存在于任何数据库文件夹和日期时间戳中,只需删除它们即可。

原因#2:仔细查看每个表的后缀。#P#p?类似于分区标签。这表明尝试使用分区创建临时表。这听起来很疯狂。早在 2006 年 2 月 16 日就有关于 MySQL 5.1.7-beta 的错误报告(于 2006 年 3 月 15 日关闭)。该错误报告基于尝试手动执行此操作。mysql 是否试图在内部执行此操作?

恕我直言,我会将 mysql 从 MySQL 5.1 升级到 MySQL 5.5