ホームページ >データベース >mysql チュートリアル >MySQL でリモート接続とアクセス制御を実行するにはどうすればよいですか?

MySQL でリモート接続とアクセス制御を実行するにはどうすればよいですか?

PHPz
PHPzオリジナル
2023-07-29 21:10:551668ブラウズ

MySQL は一般的に使用されるリレーショナル データベース管理システムです。効率と利便性を向上させるために、さまざまな環境で MySQL にリモート接続してアクセスする必要がよくあります。この記事では、MySQL でリモート接続とアクセス制御を実行する方法と、対応するコード例を紹介します。

  1. MySQL 構成ファイルを変更する

まず、リモート接続を許可するように MySQL 構成ファイルを変更する必要があります。 MySQL インストール ディレクトリで my.cnf ファイルを見つけて、テキスト エディタで開きます。

sudo nano /etc/mysql/my.cnf

ファイル内のバインドアドレス属性を見つけてコメントアウトするか、その値を 0.0.0.0 に変更します。このようにして、MySQL サーバーは任意の IP アドレスからのリモート接続を受け入れるようになります。

#bind-address = 127.0.0.1

ファイルを保存して閉じ、MySQL サービスを再起動して変更を有効にします。

sudo service mysql restart
  1. リモート アクセス権限の承認

次に、MySQL でリモート アクセスを許可するユーザーを作成し、対応する権限を付与する必要があります。 MySQL コマンドライン クライアントを開きます。

mysql -u root -p

MySQL スーパー ユーザー root のパスワードを入力し、MySQL コマンド ライン インターフェイスに入ります。

新しいユーザーを作成し、パスワードを設定します。

CREATE USER 'remote_user'@'%' IDENTIFIED BY 'password';

ここで、「remote_user」は新しいユーザーのユーザー名、「password」はパスワード、% は任意の IP アドレスからの接続を許可することを意味します。特定の IP アドレスからの接続のみを許可する場合は、% を特定の IP アドレスに置き換えることができます。

このユーザーにすべてのデータベースへのアクセス権を与えます。

GRANT ALL PRIVILEGES ON *.* TO 'remote_user'@'%';

システム権限テーブルを更新します。

FLUSH PRIVILEGES;

MySQL コマンド ライン クライアントを終了します。

EXIT;
  1. ファイアウォールの構成

サーバーでファイアウォールが有効になっている場合は、MySQL のデフォルト ポート (通常は 3306) が開いていることを確認する必要があります。次のコマンドを使用して、現在のファイアウォール ルールを表示できます。

sudo ufw status

MySQL のデフォルト ポートが開いていない場合は、次のコマンドを使用してポートを開くことができます。

sudo ufw allow 3306
  1. リモート接続

次のコード例を使用して、データベースにリモート接続できます。

import mysql.connector

config = {
  'user': 'remote_user',
  'password': 'password',
  'host': 'your_server_ip',
  'database': 'your_database',
  'raise_on_warnings': True
}

cnx = mysql.connector.connect(**config)
cursor = cnx.cursor()

# 这里可以编写具体的数据库操作代码

cursor.close()
cnx.close()

コードでは、「remote_user」を以前に作成したリモート ユーザーのユーザー名に置き換え、「password」を対応するパスワードに置き換える必要があります。 「your_server_ip」と「your_database」は、実際の状況に応じて、リモート MySQL サーバーの IP アドレスと接続するデータベースの名前に置き換えられます。

上記の手順とコード例を通じて、MySQL にリモート接続とアクセス制御を実装できます。これにより、異なる環境でもMySQLデータベースを簡単に運用でき、作業効率が向上します。

以上がMySQL でリモート接続とアクセス制御を実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。