【问题标题】:Windows Server mysql system tables converted to innodb won't start转换为 innodb 的 Windows Server mysql 系统表将无法启动
【发布时间】:2017-06-04 23:55:59
【问题描述】:

我们最近针对 mysql 运行了一个脚本,将所有表转换为使用 innodb。不幸的是,这也包括系统表。服务器将不再启动。

我不认为在这种情况下它可能很重要,但也尝试了 配置文件中的 innodb_force_recovery 并重新启动。同样的错误。

有没有办法从系统表上的这种愚蠢转换中恢复到 myisam?

Dump we're receiving

Thread pointer: 0x92eb40
Attempting backtrace. You can use the following information to find out
where mysqld died. If you see no messages after this, something went
terribly wrong...
000000014009A9A1    mysqld.exe!ha_resolve_by_name()[handler.cc:135]
0000000140119F6F    mysqld.exe!open_binary_frm()[table.cc:897]
000000014011C12B    mysqld.exe!open_table_def()[table.cc:644]
0000000140078204    mysqld.exe!get_table_share()[sql_base.cc:379]
000000014007829D    mysqld.exe!get_table_share_with_create()[sql_base.cc:478]
000000014007A9B3    mysqld.exe!open_unireg_entry()[sql_base.cc:3874]
000000014007E0C1    mysqld.exe!open_table()[sql_base.cc:2931]
000000014007ED61    mysqld.exe!open_tables()[sql_base.cc:4630]
000000014007F258    mysqld.exe!open_and_lock_tables_derived()[sql_base.cc:5041]
000000014003643C    mysqld.exe!plugin_load()[sql_plugin.cc:1417]
000000014003772A    mysqld.exe!plugin_init()[sql_plugin.cc:1252]
000000014001DB5E    mysqld.exe!init_server_components()[mysqld.cc:4021]
000000014001E315    mysqld.exe!win_main()[mysqld.cc:4490]
000000014001E6AF    mysqld.exe!mysql_service()[mysqld.cc:4666]
00000001402EBAB7    mysqld.exe!_callthreadstart()[thread.c:295]
00000001402EBB85    mysqld.exe!_threadstart()[thread.c:275]
0000000076C7A4BD    kernel32.dll!BaseThreadInitThunk()
0000000077076461    ntdll.dll!RtlUserThreadStart()

Trying to get some variables.
Some pointers may be invalid and cause the dump to abort.
Query (0000000000000000): =
Connection ID (thread ID): 0
Status: NOT_KILLED

【问题讨论】:

    标签: mysql innodb windows-server-2008


    【解决方案1】:

    是的,这是个坏消息。 mysql 表应该从 MyISAM 转换而来;如果是,MySQL 将无法工作。

    计划 A:如果您有任何类型的转储,请至少从该转储重新加载数据库 mysql。然后我们可以讨论如何加载你的表或其他什么。

    B 计划:安装新的 MySQL 副本;它在mysql 中将有“正确”(但不会有您的GRANTs 等)然后我们可以讨论如何(以及是否)您可以重新加载/重建您的表。

    你有什么转储?最近的?老的?在 MyISAM 中?在 InnoDB 中? innodb_file_per_table 的值是多少?你来自/要去哪个版本? (在那里,我正在考虑“可传输表空间”。)

    目前无济于事,但您应该查看转换中的其他问题:http://mysql.rjweb.org/doc.php/myisam2innodb

    【讨论】:

      猜你喜欢
      • 2021-09-28
      • 2012-10-05
      • 2016-06-08
      • 2010-12-25
      • 2018-08-28
      • 1970-01-01
      • 1970-01-01
      • 2011-04-29
      • 1970-01-01
      相关资源
      最近更新 更多