【MySQL】外部接続の設定方法【Linux】

MySQLはセキュリティのため、デフォルトでは外部接続が出来ません。

そのため、いくつかの手順を経て外部接続が出来るようにします。

  1. MySQLでの設定
  2. サーバーのファイアウォールの設定
  • サーバー:Ubuntu
  • MySQL-server 8.0
目次

MySQLの設定

mysqlid.cnfからbind-adressをコメントアウト

 $ vim /etc/mysql/mysql.conf.d/mysqld.cnf

bind-address = 127.0.0.1
↓
# bind-address = 127.0.0.1

ローカルからの接続以外を許可するために、bind-adressをコメントアウトします。

外部接続用のユーザーを作成

外部接続用のユーザーを作成します。%で全てのホストからの接続を許可しています。

mysql> CREATE USER 'USERNAME'@'%' IDENTIFIED BY 'PASSWORD';

ユーザーが作成できているから確認してみましょう。

mysql> SELECT user, host FROM mysql.user;

+------------------+-----------+
| user             | host      |
+------------------+-----------+
| username         | %         |
| debian-sys-maint | localhost |
| mysql.infoschema | localhost |
| mysql.session    | localhost |
| mysql.sys        | localhost |
| root             | localhost |
+------------------+-----------+

ユーザーの作成が確認できました。

外部接続用のデータベースの作成

mysql> CREATE DATABASE sample;

データベースを作成したら確認してみましょう。

mysql> SHOW DATABASES;

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sample             |
| sys                |
+--------------------+

権限設定

mysql> GRANT ALL ON sample.* TO 'username'@'%';

先ほど作成したデータベースへの編集権限を渡しました。

ユーザーの権限を確認してみましょう。

mysql> SHOW GRANTS FOR 'username'@'%';

+------------------------------------------------------+
| Grants for username@%                                |
+------------------------------------------------------+
| GRANT USAGE ON *.* TO `username`@`%`                |
| GRANT ALL PRIVILEGES ON `sample`.* TO `username`@`%` |
+------------------------------------------------------+

サーバーの設定

ファイアーウォールの設定を確認します。

$ ufw status

Status: inactive

inactiveは設定が無効になっているので、有効にします。

$ ufw enable

Command may disrupt existing ssh connections. Proceed with operation (y|n)?
# ssh接続が切れるかもしれません。よろしいですか的な

ポートを開放します。MySQLで使用する3306を開放します。

$ ufw allow 3306

MySQLでの外部接続

最後に、外部接続。

mysql -u username -h server -p

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!

コメント

コメントする

目次
閉じる