MariaDBにリモートログインする方法

永井
2023-10-05
2023-10-05

はじめに

今回はMariaDBにリモートでログインするために必要な設定等を紹介していければと思います。
リモートでログインするためサーバ側のポートを開ける作業がありますのでセキュリティ面に注意してください。

前提として接続元・接続先両方にMariaDBが入っている状態と想定しています。

環境(接続先・接続元両方)
DB : MariaDB 10.3.35
OS : AlmaLinux 8

MariaDBにリモートログイン

リモートログインを行うために下記3つのステップを実施します。

Step1. サーバ側のMariaDBでリモートログイン用のアカウントを作成
Step2. サーバ側の3306番ポートを開放
Step3. リモートログイン

では、順番に行っていきましょう。

Step1. サーバ側のMariaDBでリモートログイン用のアカウントを作成

まず、サーバ側のMariaDBにログインしてください。

そして下記コマンドでユーザをリモートログイン用のユーザを作成します。

MariaDB [(none)]> grant all privileges on データベース名.テーブル名 to 'ユーザ名'@'接続元IPアドレス' identified by 'パスワード' with grant option;

日本語になっている部分については自身の環境に置き換えてください。
「データベース名.テーブル名」という部分は「データベース名.*」にすることで、該当データベース内のすべてのテーブルにアクセスできます。

では、下記コマンドでユーザが作成できたかどうか確認します。

MariaDB [(none)]> select user, host from mysql.user;

ユーザが作成されてましたでしょうか。

Step2. サーバ側の3306番ポートを開放

次に外からアクセスできるようにするため、3306ポートを開放します。
MariaDBの場合3306番ポートがデフォルトとなっています。

今回は接続元のIPアドレスが固定ということで下記コマンドで3306ポートにアクセスできるIPアドレスを限定します。

# firewall-cmd --add-rich-rule='rule family=ipv4 source address="接続元IPアドレス" port port=3306 protocol=tcp accept' --zone=public --permanent

では、ちゃんと設定できているか確認しましょう。

# firewall-cmd --list-all

Step3. リモートログイン

では、最後にリモートログインを行います。
接続元の端末から下記コマンドを実行しましょう。

# mysql -h 接続先IPアドレス -u ユーザ名 -p

実行後パスワードの入力を求められますので、ユーザ作成時に設定したパスワードを入力します。

どうでしょうか・・・無事ログインできましたか?

おわりに

今回MariaDBへのリモートログインについて紹介しました。
これで外部からデータを取得しプログラミングなどで使える状態かと思います!
ここまで読んでいただきありがとうございます。