MAMPのMySQLサーバが動かないときの対策(Windowsユーザ向け)
結論:XAMPPを使おう
身も蓋もないですが、これが最速でした。
エンジニアはMACユーザが多く、MAMPを推奨されて不安になると思いますが、XAMPPを使いましょう。
このあとに注意点をまとめます。
※以下、念のため私が対策した内容をまとめます。
もしこちらでMAMPが利用できれば、それで良いです。
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
①mod_perlを無効化
http://onocom.net/blog/mampwindows%E3%81%AEmamp%E3%81%A7apache%E3%81%8C%E8%B5%B7%E5%8B%95%E3%81%97%E3%81%AA%E3%81%84/
②ターミナルからMySQLを停止
https://manablog.org/mamp-mysql-error/
※コマンドはここ
https://webkaru.net/mysql/windows-service-start-stop/
※システムエラー5が発生したとき
http://www.bmoo.net/archives/2013/10/315083.html
④ポート番号競合
https://qiita.com/maximum80/items/3ca16b0b41cd5ff11c6c
※windowsでの確認方法
https://www.engineer-memo.net/20090822-51
⑤モジュールエラー
https://qiita.com/maximum80/items/3ca16b0b41cd5ff11c6c
⑥設定ファイルの書き間違え
https://qiita.com/maximum80/items/3ca16b0b41cd5ff11c6c
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
結論:XAMPPの使い方と注意点
XAMPPのダウンロードおよび使い方
このサイトが参考になります。正直めちゃくちゃ簡単です。
https://techacademy.jp/magazine/1722
XAMPP利用時の注意点
MAMPと異なり、XAMPPでは「root」ユーザのパスワードが「空欄」となります。(MAMPの場合パスワードも「root」)
MAMP利用時と同じソースコードでMySQLのDBに接続しようとすると以下のエラーが出ると思います。
Fatal error: Uncaught PDOException: SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' (using password: YES) in C:\xampp\htdocs\sample\index.php:81 Stack trace: #0 C:\xampp\htdocs\sample\index.php(81): PDO->__construct('mysql:dbname=ph...', 'root', 'root', Array) #1 {main} thrown in C:\xampp\htdocs\sample\index.php on line 81
以下、参考のソースコードです。「$password = '';」が変更した部分です。
$dsn = 'mysql:dbname=service_sample01;host=localhost;charset=utf8'; $user = 'root'; $password = ''; $options = array( PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, PDO::MYSQL_ATTR_USE_BUFFERED_QUERY => true, ); $dbh = new PDO($dsn, $user, $password, $options);