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

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

PHPz
リリース: 2023-07-29 21:10:55
オリジナル
1679 人が閲覧しました

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート