Linux上のMariaDBにNavicatなどの外部管理ツールからアクセスする。

1. MariaDB設定ファイル(my.cnf)の修正

MariaDBが外部IPからの接続を許可するようにバインドアドレスを変更します。 

  • 設定ファイルの位置: 通常は /etc/my.cnf/etc/mysql/my.cnf、または /etc/my.cnf.d/server.cnf です。
  • 修正手順:
    1. テキストエディタで設定ファイルを開く (例: sudo nano /etc/my.cnf.d/server.cnf)。
    2. [mysqld] セクションを見つける。
    3. 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を許可
    4. ファイルを保存して閉じる。
    5. MariaDBを再起動して設定を適用する: sudo systemctl restart mariadb。 

2. リモートアクセス権限の追加

MariaDBのユーザが特定のホスト(例: 開発用PC)からアクセスできるように許可設定を行います。 

  • 手順:
    1. ターミナルからMariaDBにrootユーザでログインする: mysql -u root -p
    2. 以下の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') に変更してください。 

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にアクセスする方法が安全です。 

カテゴリー: 未分類 パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です