2017-01-20 7 views
0

Wir haben vor kurzem ein Skript gegen eine MySQL ausgeführt, um alle Tabellen zu konvertieren, um innodb zu verwenden. Dies beinhaltete leider auch die Systemtabellen. Der Server wird nicht mehr gestartet.Windows Server mysql Systemtabellen konvertiert zu innodb wird nicht gestartet

Ich dachte nicht, es wäre wahrscheinlich in diesem Fall, aber auch versucht, die innodb_force_recovery in der Konfigurationsdatei und neu starten. Derselbe Fehler.

Gibt es eine Möglichkeit, von dieser dummen Konvertierung auf den Systemtabellen zu myisam zurückzukehren?

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 

Antwort

0

Ja, das sind schlechte Nachrichten. Die mysql Tabellen sollten nicht von MyISAM konvertiert werden; MySQL kann nicht funktionieren, wenn sie es sind.

Plan A: Wenn Sie eine Art von Dump haben, laden Sie mindestens die Datenbank mysql von diesem Dump neu. Dann können wir besprechen, wie man Ihre Tabellen geladen bekommt oder was auch immer.

Plan B: Installieren Sie eine neue Kopie von MySQL; es wird "korrekt" in mysql haben (aber wird nicht Ihre GRANTs, etc.) Dann können wir diskutieren, wie (und ob) Ihre Tabellen reloaded/neu aufgebaut werden können.

Welche Dump (s) haben Sie? Kürzlich? Alt? In MyISAM? In InnoDB? Was war der Wert von innodb_file_per_table? Aus welcher Version kommst du? (Dort denke ich über "transportable Tablespaces".)

Wird im Moment nicht helfen, aber Sie sollten die anderen Fehler in der Konvertierung überprüfen: http://mysql.rjweb.org/doc.php/myisam2innodb.