【MySQL】初めての接続 … ERROR! The server quit without updating PID fileの対応

MySQL入門

SQLとMySQL

SQLとは、データベースを扱うためのプログラミング言語です。

データ管理は、まずエクセル。

と思うかも知れませんが、

エクセルよりも、比較にならぬほど、はるかに膨大なデータ量を扱えます。

なので、SQLを使って顧客データの管理をしているWEBアプリケーションは、無数にあるはずです。

プログラミング言語とは言っても「癖はあるが、慣れればわりと誰でも使えるようになる」との僕のメンター情報。

真偽のほどはさておき、SQLの中で最もメジャーと言われているMySQLに初めて接続してみます。

環境

Mac 10.15.4

Server version: 8.0.19 Homebrew

MySQLをダウンロードします。

こちらのURLがMySQLのダウンロードページです。

参考 ここからダウンロード!MySQL

OSを選択して、インストーラorバイナリ形式で無償版がダウンロードできます。

私は、一番上のDMG Archiveを選択してダウンロード。

mysql

もし、ダウンロード途中で、アラートがでるようであれば、「システム環境設定」→「セキュリティとプライバシー」をチェックしてみてください。

エラーが出ていたら、許可にします。

セキュリティとプライバシー

まずは下準備を。

ターミナルを開きます。

まずは、MacOS用のパッケージマネージャーのhomebrewをダウンロードしていないので、ダウンロードします。

参考 参考サイトhomebrew

まだ入れてない場合はダウンロードしましょう。以下がダウンロードの仕方です。

ターミナルに以下のコマンドをそのまま入れます。

$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"

途中でパスワードを要求されるので、PCのパス(でよかったはず)を入力します。

Press RETURN to continue or any other key to abort
Password:

インストールされたら、こんな表示がでてきます。

==> Installation successful!

mysqlのチェックします。

$ brew info mysql

するとよく分からないが、赤字で3つの×印が出る。

==> Dependencies
Build: cmake ✘
Required: openssl@1.1 ✘, protobuf ✘

よく分からないが、怖いのでDLしておくことに。もしかしたら不要かも。(念のため記載します。)

それぞれ別々に3回DLをしていきます。

$ brew install cmake
$ brew install openssl
$ brew install openssl

再びチェックしてみます。

$ brew info mysql

今回は緑のチェックマークに変わりました。なんか安心。

==> Dependencies
Build: cmake ✔
Required: openssl@1.1 ✔, protobuf ✔

MySQLの開始とエラーの対処。

さっそく、MySQLをスタート!

$ mysql.server start

するも、エラーが発生。まじで焦ります。

Starting MySQL
... ERROR! The server quit without updating PID file (/usr/local/var/mysql/xxxnoMacBook-Air-3.local.pid).

エラーの内容を読み込みます。(’xxxnoMacBook-Air-3’のところはuserの名前です。)

$ tail -f /usr/local/var/mysql/xxxnoMacBook-Air-3.local.err

以下がエラーの部分の抜粋です。

2020-05-16T05:58:51.339346Z 0 [ERROR] [MY-010262] [Server] Can't start server: Bind on TCP/IP port: Address already in use
2020-05-16T05:58:51.339792Z 0 [ERROR] [MY-010257] [Server] Do you already have another mysqld server running on port: 3306 ?
2020-05-16T05:58:51.340665Z 0 [ERROR] [MY-010119] [Server] Aborting

中段に、Do you already have another mysqld server running on port

と出ているので、別のmysqlが何やら動いているとのメッセージ。

その真偽をチェックします。

$ ps ax | grep mysql

すると、こんな表示。確かに何かが動いているらしい。

30679   ??  Ss     0:00.86 (以下省略)----

killします。(結果的には無駄でした。)

$ sudo kill -9 30679

うーん、数字が変わっただけで、何かが解決した気がしない。

30684   ??  Ss     0:00.65(以下省略)----

再びチェックします。

$ mysql.server start

やはりエラーが出ます。

Starting MySQL
... ERROR! The server quit without updating PID file (/usr/local/var/mysql/

再びチェックします。

$ ps ax | grep mysql

以下の表示がでます。

30872   ??  Ss     0:00.72

killします。さっきとは微妙に違うコマンドです。(こっちが正解だった!)

$ sudo kill -TERM  30872

再び、再びチェックします。

$ ps ax | grep mysql

何やら成功したらしい!

30880 s000  S+     0:00.01 grep mysql

MySQLをスタートさせます。

$ mysql.server start

やった!ついに成功!

Starting MySQL
. SUCCESS!

MySQLでデータベースを初作成。

ここまできたら、SQLで初のデータベース作成にトライしてみたい。

しかし、何をしたらいいのか皆目検討がつきませんでした。

結果的にはこんな感じで進められました。

必要があるのか分かりませんが、まずは常時起動にします。(不要かも)

$ brew services start mysql

無事に起動できました。(やめたい場合は、上記をstopに変更すれば停止できます)

==> Successfully started `mysql` (label: homebrew.mxcl.mysql)

以下のコマンドで始められました。

$ mysql -uroot

このメッセージがでれば、無事にMySQLに接続できたということです!

おめでとうございます!

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.19 Homebrew

Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

試しにsampledb というデータベースを作ります。

注意
MySQLでは最後に 「 ; 」セミコロンを打つのを忘れないようにしましょう。
僕は忘れていて、エラーがでて戸惑いました。
mysql> create database sampledb;

無事にデータベースが作成できました。

Query OK, 1 row affected (0.02 sec)

データベースの中身を確認してみます。

mysql> show databases;

おお!初めてのデータベース(まだ中身は空)ができていました!

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sampledb           |
| sys                |
+--------------------+
5 rows in set (0.02 sec)

ようやくデータベース作成までこれで完了です。お疲れ様でした。

まとめ

MySQLをスタートさせるのに、エラーが出ることが多いようです。

初心者なので、本当に四苦八苦して、エラーを解決するのに、5〜6時間くらいはかかったと思います。

(権限についても書かれている記事が多くあり試しましたが、自分はダメでした。)

この記事が参考になれば嬉しいです。

(参考にさせていただいた記事)

1:mySqlサーバを止められなくなったとき

※killのアイディアを授けてくださいました、ありがとうございます。

https://qiita.com/yukihigasi/items/a1c84b14ad6807896003

2:mysql起動時でエラーが起きた時の対処

https://qiita.com/makuramoto1/items/52159370d00bef708595

3:データベース作成(しがないOLのはじめてのMySQL | Developers.IO)

https://dev.classmethod.jp/articles/first_mysql/

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA