現在XAMPPのApacheとMySQLを使って開発しています。Apache自体は問題なく使えているのですが、時々MySQLがstartできなくなる現象が発生し、解決したいので知恵をお貸しください。ちなみにMySQLの設定自体はデフォルトから何も変えていません。

**一回目壊れた時**

エラーに関して：XAMPPのコントロールパネル上で「 [mysql] Error: MySQL shutdown
unexpectedly.」のように表示されました。mysql_error.logには特にエラーが吐かれていない様子です。ただ、windowsのイベントビューアで警告として「InnoDB:
A long semaphore wait:」と出た後、エラーとして「[FATAL] InnoDB: Semaphore wait has lasted >
600 seconds. We intentionally crash the server because it appears to be
hung.」と出ております。（その後もたくさんの警告とエラーがでています）

復旧方法：XAMPPを再度インストールし直しました。その際、退避しておいたXampp>mysql>data配下のibdata1というファイルを再インストール先にコピーし、予めphpmyadminでエクスポートしておいたsqlファイルをインポートしたところ、MySQLもstartできるし、DBのデータ自体も復元できました。

**二回目壊れた時**

エラーに関して：windowsのイベントビューアにて警告として「Neither --relay-log nor --relay-log-index were
used; so replication may break when this MariaDB server acts as a replica and
has its hostname changed. Please use '--log-basename=#' or '--relay-log=mysql-
relay-bin' to avoid this problem.」が出た後、エラーとして「Slave I/O: Fatal error: Invalid
(empty) username when attempting to connect to the master server. Connection
attempt terminated. Internal MariaDB error code:
1593」が出ております。一回目と同様XAMPPのコントロールパネル上ではエラーが出ましたが、mysql_error.logには特にエラーが吐かれていない様子です。

復旧方法：下記の記事を参考に復旧しました。その時はMySQLをstartできました。

<https://y-a-d.hatenablog.jp/entry/2020/01/28/183000>

**現在の状況**

エラーに関して：windowsのイベントビューアにて警告として「Failed to load slave replication state from
table mysql.gtid_slave_pos: 1932: Table 'mysql.gtid_slave_pos' doesn't exist
in engine」、エラーとして「InnoDB: Table `mysql`.`innodb_table_stats` not
found.」が出ておりました。それ以外は前回の時と同様です。

復旧方法：まだ試しておりません。

**環境に関して**

OS:Windows 11  
XAMPP version:8.1.12  
XAMPP Control Panel version:3.3.0  
MariaDB:10.4.27  
phpMyAdmin:5.2.0

どなたかこの現象を回避する方法、または原因をご存じでしょうか。初学者のため至らぬ点はご容赦ください。足りない情報がありましたらその旨教えてください。
CC BY-SA 4.0
2022-12-05T02:42:22.027
92584
2022-12-05T02:42:22.027
54288
question
mysql xampp mariadb
XAMPPのMySQLがstartできなくなる問題の解決方法