mariaDB10.1サーバに外部から接続する
今回は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
以上設定でクライアントからはホスト指定することで接続可能となります。
いざ外部接続!!
外部経由で接続する場合、以下のようにホストのIPアドレスを指定します。
mysql -h192.168.1.x -uusername -ppassword
上記で接続できない場合はufwやiptablesを始めとしたファイヤウォールのセキュリティ関連でIPアドレスやポートをブロックしている可能性があり、そちらを許可しないと繋がらないと思います。
UFWのmysql外部アクセス許可方法
UFWでmysqlポートの追加方法例は以下となります。
ufw allow from 192.168.1.0/24 to any port mysql