mariaDB10.1サーバに外部から接続する

How To Linux mariaDB MySQL Server

今回はlocalhost上のmariaDB(mysql)ではなく、別のサーバで稼働するmariaDB(mysql)に接続する際の実施手順について紹介します。

今回実施したサーバ環境は以下となります。
OS : Linux Mint 19.2
DB : mysql  Ver 15.1 Distrib 10.1.41-MariaDB

アクセス権限の設定

まずはDBに外部アクセス用のユーザを作成。
全DBなら以下。

grant all privileges on *.* to username@% identified by 'password' with grant option;

特定のDBのみなら以下。

grant all privileges on dbA.* to username@% identified by 'password' with grant option;

特定のIPアドレスを指定なら以下のようにIPアドレスを指定か、ローカルネットワークを指定します。

grant all privileges on dbA.* to username@192.168.x.x identified by 'password' with grant option;

IPアドレスフィルタの除外

以下ファイルのbind-addressをコメントアウト

$ sudo vi /etc/mysql/mariadb.conf.d/50-server.cnf 

上記ファイル名出ない場合は以下のファイル

$ sudo vi /etc/mysql/mariadb.conf.d/mysqld.conf 

# でコメントアウトする。

#bind-address           = 127.0.0.1

以上設定でクライアントからはホスト指定することで接続可能となります。
上記で接続できない場合、理由としてはufwやiptablesを始めとしたファイヤウォールのセキュリティ関連でIPアドレスやポートをブロックしていると繋がらないと思います。

いざ外部接続!!

外部経由で接続する場合、以下のようにホストのIPアドレスを指定します。

mysql -h192.168.x.x -uusername -ppassword