なるの備忘録

エンジニアリングそして営業ができるエンジニアに向けて、日々学んだことをアウトプットしていきます。

MAMPのMySQLサーバが動かないときの対策(Windowsユーザ向け)

MAMPMySQLサーバが動かない

MAMPを起動してもMySQLサーバが動かないときがあります。
こんな状況ですね。

f:id:narunaru7638:20190106222659j:plain
MySQLサーバが起動しないときのMAMP画面

結論: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);