Memo

メモ > サーバ > 各論: XAMPP > トラブル

■トラブル
■突然MySQLを起動できなくなった XAMPPのコントロールパネルからApacheは起動できるが、MySQLを起動しようとすると以下のエラーになる
11:45:48 [mysql] Attempting to start MySQL app... 11:45:48 [mysql] Status change detected: running 11:45:52 [mysql] Status change detected: stopped 11:45:52 [mysql] Error: MySQL shutdown unexpectedly. 11:45:52 [mysql] This may be due to a blocked port, missing dependencies, 11:45:52 [mysql] improper privileges, a crash, or a shutdown by another method. 11:45:52 [mysql] Press the Logs button to view error logs and check 11:45:52 [mysql] the Windows Event Viewer for more clues 11:45:52 [mysql] If you need more help, copy and post this 11:45:52 [mysql] entire log window on the forums
XAMPPのコントロールパネルの「Netstat」から確認しても、 すでにポートが使われている…ということは無さそう 【xammp】mysqlが起動しない時の対処 - Qiita https://qiita.com/gone0021/items/1240f857776c6bb620b6 ※念のため、作業前に C:\xampp\mysql を丸ごと退避させてから作業する C:\xampp\mysql\data から以下のファイルを退避してMySQLを起動 ib_logfile0 ib_logfile1 ibdata1 さらに C:\xampp\mysql\backup からすべてのファイルとフォルダーをコピーし、C:\xampp\mysql\data に貼り付け 置換を求められるのですべて置換 これでXAMPPのコントロールパネルから起動できた …が、http://localhost/phpmyadmin/ にアクセスすると以下のエラーが表示された
接続できません。設定が無効です。 mysqli::real_connect(): (HY000/1045): Access denied for user 'root'@'localhost' (using password: YES) MySQL サーバに接続しようとしましたが拒否されました。config.inc.php のホスト、ユーザ名、パスワードが MySQL サーバの管理者から与えられた情報と一致するか確認してください。
backupからの復元により、rootのパスワード設定が消失していると思われるので再設定 (設定方法は、このファイル内の「MySQL」を参照) これでphpMyAdminに接続できるようになった …が、データベース一覧にテーブルは確認できるものの、テーブルの内容を表示しようとすると以下のエラーになった
#1932 - Table 'test.address' doesn't exist in engine
退避しておいた C:\xampp\mysql\data 内の以下ファイルを戻してMySQLを再起動 ib_logfile0 ib_logfile1 ibdata1 これで元通りアクセスできるようになったみたい 結局のところ、C:\xampp\mysql\backup からの復旧で何とかなったのかもしれない? (ib_logfile0 などの退避はしなくてもいいかと思ったが、backup内にも存在するので退避は必須だと思われる) 直接の原因は、ユーザ情報テーブルなどの破損が原因か Windowsをシャットダウンする前に、手動でApacheとMySQLを終了させるべきか

Advertisement