专用服务器 Linux Cenos 6 Apache + Nginx
我们已经多次遇到过此问题,通常是在服务器崩溃或关闭后发生
服务器退出,未更新 pid 文件
在此之后,MySQL 无法启动,继续给出此错误,服务器退出而不更新 pid 文件
过去,mysql 重新启动的唯一方法是从 ver/lib/mysql 中删除包括 ibdata1 在内的所有文件 - 导致我们不得不再次从备份中重新导入所有数据库。
今天又发生了这个错误——在服务器一夜之间关闭并重启两次之后。
但是这次我在 etc/my.cnf 中添加此行后就能启动 MYSQL
innodb_force_recovery = 4
有人能帮我理解为什么我们不断遇到这个问题以及如何防止它再次发生吗?我以前读到过,启用 oomkill 可以防止在服务器故障或任何其他原因的情况下发生此问题,但自那以后,我们遇到了几次同样的问题
error.log 非常庞大,因此需要复制 8 月 16 日和 18 日问题发生之前的一些行,以及错误发生之后的一些行,此外还需要复制在将 innodb_force_recovery = 4 添加到 etc/my.cnf 之后的一些行,因为从那时起日志文件就没有更新过 -
2020-08-16 22:08:34 8142 [警告] InnoDB:无法从 InnoDB 的内部数据字典打开表 jawi_6jun20/core_cache_option,尽管该表的 .frm 文件存在。请参阅http://dev.mysql.com/doc/refman/5.6/en/innodb-troubleshooting.html了解如何解决问题。2020-08-16 22:08:34 8142 [错误] 无效(旧?)表或数据库名称“admin_rule-bkp-5-aug-2020”
2020-08-18 00:30:57 2ab9cb842700 InnoDB:错误:请求获取表“htfr_07aug2020”的持久统计信息。“customer_address_entity_text”,但所需的系统表 mysql.innodb_table_stats 和 mysql.innodb_index_stats 不存在或具有意外结构。请改用临时统计信息。2020-08-18 00:30:57 8142 [错误] 表或数据库名称“admin_rule-bkp-5-aug-2020”无效(旧?)
2020-08-24 00:01:10 2ad344040700 InnoDB:错误:请求获取表“htfr_07aug2020”。quote,但所需的系统表 mysql.innodb_table_stats 和 mysql.innodb_index_stats 不存在或具有意外结构。请改用瞬态统计信息。2020-08-24 00:01:13 2ad344040700 InnoDB:错误:未找到表“mysql”。innodb_table_stats。
020-08-24 14:08:21 13903 [注意] InnoDB:innodb_force_recovery 设置为 4。即使我们无法访问该表的 .ibd 文件,仍继续崩溃恢复。 2020-08-24 14:08:21 13903 [注意] InnoDB:恢复可能只写了一半的数据页 2020-08-24 14:08:21 13903 [注意] InnoDB:从双写缓冲区... InnoDB:正在进行恢复:扫描到日志序列号 40054719901 InnoDB:1 个事务必须回滚或清理 InnoDB:总共需要撤消 1 行操作 InnoDB:Trx id 计数器为 1124333568 2020-08-24 14:08:22 13903 [注意] InnoDB:开始将一批日志记录应用到数据库... InnoDB:进度百分比:0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 InnoDB:应用批次已完成 2020-08-24 14:08:23 13903 [注意] InnoDB:128 个回滚段处于活动状态。 2020-08-24 14:08:23 13903 [注意] InnoDB:5.6.47 已启动;日志序列号 40054719901 2020-08-24 14:08:23 13903 [注意] InnoDB:!!! innodb_force_recovery 设置为 4 !!! 2020-08-24 14:08:23 13903 [注意] 未找到 RSA 私钥文件:/var/lib/mysql//private_key.pem。 某些身份验证插件将不起作用。 2020-08-24 14:08:23 13903 [注] 未找到 RSA 公钥文件:/var/lib/mysql//public_key.pem。某些身份验证插件将无法正常工作。2020-08-24 14:08:23 13903 [注] 服务器主机名(绑定地址):'*';端口:3306 2020-08-24 14:08:23 13903 [注] IPv6 可用。2020-08-24 14:08:23 13903 [注] - '::' 解析为 '::';2020-08-24 14:08:23 13903 [注] 在 IP '::' 上创建服务器套接字。 2020-08-24 14:08:23 13903 [注意] 事件调度程序:已加载 0 个事件 2020-08-24 14:08:23 13903 [注意] /usr/sbin/mysqld:已准备好连接。版本:'5.6.47' 套接字:'/var/lib/mysql/mysql.sock' 端口:3306 MySQL 社区服务器 (GPL)