次の日になったらMySQLが起動しなくなった!?
昨日に引き続きMySQLです。
事件発生!!
インストールした後PCを落として、今日いよいよ使おうと思ってMySQLに接続を試みたところ以下のエラーが発生ました。
$ mysql -uroot -p -bash: mysql: command not found
またPATHが通ってないんですね…
よくよく調べてみるとターミナルでexportを使用して環境変数を設定すると、そのターミナル内だけで使用でき、再起動後などは使用できなくなるようです。
Windowsでいうところの「SET」コマンドと同じですね!
試しにexportコマンドで環境変数を設定した後に、ターミナルをもう一つ開いてecho $PATHで環境変数を見てください。exportコマンドを実行したターミナルと結果が違うはずです!
今後もMySQLは使用していくと思うので、ここは常時環境変数に設定されるようにしましょう!
環境変数の常時設定
まずは必要な環境変数と追加したいパスをコピーしておきましょう。
$ echo $PATH /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
MySQLのパスは昨日と同じなので、「/usr/local/Cellar/mysql/5.7.20/bin」を使用します。
viエディタを使って.bash_profileを開く
まずはviエディタというメモ帳のようなものを使用して、.bash_profileというファイルを開きます。この.bash_profileが環境変数を記述するファイルです。
$ vi .bash_profile
おそらくこのファイルを触ったことがなければ、何も書かれていないファイルが開かれると思います。
そこに以下の記述を追加します。 追加するには、まずviを挿入モードにする必要があります。 viを開いた状態だと思いますので、ここで半角入力(英字入力)にして「i」を入力すると挿入モードになります。
PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/Cellar/mysql/5.7.20/bin
上記の内容を追加したら、挿入モードを抜けるためescキーを一回押します。 その後に「:wq」と入力してください。 これで保存して、viを閉じることができます。 「w」が保存、「q」がviを閉じるという意味になります。
次に.bash_profileの内容を反映させるために以下のコマンドを実行します。
$ souce .bash_profile
更なる事件
よーし、これでMySQLを起動できると思いますので、以下のコマンドを実行します。
$ mysql -uroot -p Enter password: ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
あれ?まだエラーが発生するなんでだ?ネットでググってみるとまず/tmp/mysql.sockをコマンドに打ってみろとのことだったので
$ sudo touch /tmp/mysql.sock
※実行に管理者権限が必要らしいので、sudoつけてます。
よっしゃ!もう一度
$ mysql -uroot -p Enter password: ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (38)
今度はさっき(2)だったエラーが(38)のエラーが変わりましたね。 参考にしていたサイトではサービス起動していなかったのが原因だったそうなので、もういっちょ
$ sudo mysql.server start Starting MySQL . ERROR! The server quit without updating PID file (/usr/local/var/mysql/Machine.local.pid).
あらまだエラーが発生するな・・・ 調べてみると上で出てた/tmp/mysql.sockを消さないといけないらしい
ではファイルを削除します!
$ sudo rm /tmp/mysql.sock
これでもう一度起動して見ます。
$ sudo mysql.server start Starting MySQL SUCCESS!
起動に成功しました。 環境構築というのはなかなかに大変なものですね・・・
ではまた次回!