LoginSignup
2
3

More than 3 years have passed since last update.

クライアントからMySQLに繋がらない場合の設定

Posted at

MySQLサーバの構築中に、クライアントPCからMySQLに接続できない事が有ったので、
備忘録のため記事にしました。(※ファイアウォール等のネットワーク環境は問題無しという前提です。)

MySQLのバージョン:8.0.20-0ubuntu0.19.10.1 for Linux on aarch64
状況を図で表すとこんな感じ。
コメント 2020-05-10 163822.jpg

使用しているディストリビューションやバージョンにより異なるのかもしれませんが、
MySQLサーバをインストールすると、デフォルトではlocalhostからの接続しか許可していないよいうです。
なので、サーバのターミナルからはmysqlに接続できるが、クライアントからは接続できないという事が発生します。

サーバのターミナルで、ss -antuコマンドを打って、待ち受け中のポートを確認してみましょう。
(ssコマンドが無い場合はインストールしてください。Debian系の場合はsudo apt install iproute2。)
Local Address:Port が 127.0.0.1:3306 になっており、localhostからの3306ポートしか待ち受けていないことが分かります。
こいつを、全てのIPアドレスからの3306ポートを待ち受けるように変更しなければなりません。
コメント 2020-05-10 162708.jpg

変更する設定ファイルは、/etc/mysql/mysql.conf.d/mysqld.cnf です。
mysqld.cnfを開くと下記画像の2か所がコメントアウトされていますので、コメントを外します。
そして、bind-addressの値が127.0.0.1になっていますので、これを0.0.0.0に変更します。
0.0.0.0は、全てのIPアドレスを表す番号です。
Inkedコメント 2020-05-10 162828_LI.jpg

編集し終えたら、上書き保存して、MySQLを再起動。
Debian系の場合 service mysql restartコマンドをたたきます。

再起動後に、もう一度サーバのターミナルでss -antuコマンドを打って、待ち受け中のポートを確認してみましょう。
Inkedコメント 2020-05-10 163107_LI.jpg

Local Address:Port0.0.0.0:3306に変わりました。
これですべてのIPアドレスからの3306ポートを待ち受けしてくれるようになりましたので、
クライアントからもMySQLサーバに接続できるようになります。

2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3