初めて書くので記事のクオリティについてはご了承ください。
xamppでMySQLを起動しようとしたときに以下のようなエラーが出てMySQLがシャットダウンしたのでその時の対処法です。
また同じ目にあってもいいように残しときます。
原因はおそらくmysqlを止めずにpcをスリープかシャットダウンをしたのが原因だと思われる。
ちゃんとstop押して終了してからシャットダウンしましょう(お前が言うな)。
環境
- windows10 Home
- xampp ver3.2.4
対処法
https://webkaru.net/dev/xampp-error-mysql-shutdown-unexpectedly/
↑のページの通りにC:\xampp\mysql\dataのよくわからんファイルどもを消した。
※怖いので念のために別のところにコピーを作成した。
そしてDB内のデータがちゃんとあるか確認したときにエラーが。。
MariaDB [retas]> select * from product;
ERROR 1932 (42S02): Table 'retas.product' doesn't exist in engine
お?? エンジン??
とりあえずググってみてこのサイトにこんなことが書いてた。
私は同じ問題に直面し、以下のステップを使用してソートしました。
1.MySQLの設定ファイルに移動します(私のファイルはC:\xampp\mysqlin\my.ini)
2.innodb_data_file_path = ibdata1:10M:autoextend行をチェックする
3.次に、ibdata1ファイルがC:/xampp/mysql/data/の下に存在することを確認します。
4.ファイルが存在しない場合、ibdata1ファイルを場所C:\xampp\mysqlackup\ibdata1からコピーします。
それが誰かに役立つことを願っています。
なんかibdata1を存在することをとかゆーことはこれは消したらあかんっぽいなということでコピペで元に戻す。(まじで念のために残しておいてよかった。)
もう一度SQLを実行すると動きましたとさ。めでたしめでたし