1. MariaDB設定ファイル(my.cnf)の修正
MariaDBが外部IPからの接続を許可するようにバインドアドレスを変更します。
- 設定ファイルの位置: 通常は
/etc/my.cnf、/etc/mysql/my.cnf、または/etc/my.cnf.d/server.cnfです。 - 修正手順:
- テキストエディタで設定ファイルを開く (例:
sudo nano /etc/my.cnf.d/server.cnf)。 [mysqld]セクションを見つける。bind-address = 127.0.0.1という行があれば、0.0.0.0に変更するか、コメントアウト(先頭に#)します。ini[mysqld] # bind-address = 127.0.0.1 <- コメントアウトする bind-address = 0.0.0.0 <- すべてのIPを許可- ファイルを保存して閉じる。
- MariaDBを再起動して設定を適用する:
sudo systemctl restart mariadb。
- テキストエディタで設定ファイルを開く (例:
2. リモートアクセス権限の追加
MariaDBのユーザが特定のホスト(例: 開発用PC)からアクセスできるように許可設定を行います。
- 手順:
- ターミナルからMariaDBにrootユーザでログインする:
mysql -u root -p - 以下のSQLコマンドを実行して、リモート用ユーザを作成し権限を付与する。sql
-- 全てのデータベースへのアクセスを許可する場合 GRANT ALL PRIVILEGES ON *.* TO 'user'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION; -- 特定のデータベースへのアクセスを許可する場合(推奨) -- GRANT ALL PRIVILEGES ON database_name.* TO 'user'@'%' IDENTIFIED BY 'password'; FLUSH PRIVILEGES; EXIT;'user'@'%'の%は全てのIPアドレスから接続を許可することを意味します。特定の固定IPのみ許可したい場合は%をそのIPアドレス(例:'192.168.1.10') に変更してください。
- ターミナルからMariaDBにrootユーザでログインする:
3. ファイアウォールの開放
Linuxサーバのファイアウォール(ufwやfirewalld)でMariaDBのポート(デフォルト: 3306)を開放します。
- UFWの場合:
sudo ufw allow 3306/tcp - Firewalldの場合:
sudo firewall-cmd --permanent --add-port=3306/tcp->sudo firewall-cmd --reload
4. Navicatでの接続設定
Navicatで以下の項目を入力して接続します。
- Host Name/IP Address: MariaDBサーバーのIPアドレス
- Port: 3306
- Username: 上記で設定したユーザ名 (例:
user) - Password: 上記で設定したパスワード
注意点
- セキュリティ:
bind-address = 0.0.0.0と%での権限付与は、誰でもアクセスできる状態になるため、必ず強固なパスワードを使用し、可能であれば特定のIPアドレスのみアクセス許可するようにしてください。 - SSHトンネル: クラウド環境などで直接ポートを開けられない場合は、Navicatの「SSH」機能を使用して、SSH経由でMariaDBにアクセスする方法が安全です。