リモートMySQLアクセスを有効にする方法


  1. MySQLサーバーの設定を変更する:

    • MySQLサーバーにSSHまたはリモートデスクトップ接続でアクセスします。
    • MySQLの設定ファイル (通常はmy.cnfまたはmy.iniと呼ばれます) を編集します。
    • bind-address パラメーターをコメントアウトするか、0.0.0.0に設定します。これにより、MySQLサーバーはすべてのIPアドレスからの接続を受け付けるようになります。
  2. ファイアウォールの設定を変更する:

    • サーバーのファイアウォール設定を確認し、MySQLのポート (通常は3306) が許可されていることを確認します。必要に応じて、ポートを開けてください。
  3. MySQLユーザーを作成する:

    • MySQLにrootでログインします。
    • リモートアクセス用の新しいユーザーを作成します。例えば、以下のコマンドを使用します:
      CREATE USER 'ユーザー名'@'リモートホスト' IDENTIFIED BY 'パスワード';

      ユーザー名は、リモートからのアクセスに使用するユーザー名です。リモートホストは、リモートクライアントのIPアドレスまたはホスト名です。

    • ユーザーに必要な権限を付与します。例えば、以下のコマンドを使用してすべてのデータベースへのフルアクセス権限を与えます:
      GRANT ALL PRIVILEGES ON *.* TO 'ユーザー名'@'リモートホスト';
    • 変更を反映するために、以下のコマンドを実行します:
      FLUSH PRIVILEGES;

これで、リモートからMySQLサーバーへのアクセスが許可されるはずです。リモートクライアントで接続する際には、接続文字列にユーザー名、パスワード、およびMySQLサーバーのIPアドレスを指定してください。

なお、セキュリティ上の理由から、リモートアクセスを有効にする前に、必ず適切なセキュリティ対策を講じてください。例えば、パスワードの強化、IP制限、VPNの使用などが考慮されるべきです。