ホームページ  >  記事  >  データベース  >  Ubuntu で MySQL のリモート アクセスをセットアップする方法

Ubuntu で MySQL のリモート アクセスをセットアップする方法

PHPz
PHPzオリジナル
2023-04-20 10:10:472365ブラウズ

MySQL は、サーバー上でローカルまたはリモートからアクセスできる、広く使用されているデータベース管理システムであり、Web アプリケーションの開発によく使用されます。ただし、場合によっては、別のマシン上の MySQL にリモート アクセスする必要があるため、MySQL を正しく構成する必要があります。この記事では、Ubuntu 18.04 オペレーティング システムで MySQL へのリモート アクセスを設定する方法を紹介します。

ステップ 1: MySQL でリモート アクセスが有効になっているかどうかを確認する

構成を開始する前に、MySQL でリモート アクセスが有効になっていることを確認する必要があります。まず、MySQL サーバーにログインし、リモート アクセスが有効になっているかどうかを確認する必要があります。ターミナルを開き、次のコマンドを入力します:

sudo mysql -u root -p

このコマンドは、root ユーザーとして MySQL にログインします。このコマンドを入力すると、パスワードの入力を求められます。正しいパスワードを入力すると、MySQL シェルに入り、MySQL サーバーのコマンド ライン インターフェイスにアクセスできるようになります。 MySQL シェルで、次のコマンドを入力してリモート アクセスが有効かどうかを確認する必要があります:

SELECT user,authentication_string,host FROM mysql.user;

リモート アクセスが有効な場合は、次の出力が表示されます:

+------------------+-------------------------------+-----------+
| user             | authentication_string         | host      |
+------------------+-------------------------------+-----------+
| root             | *E0AAECBBB187B27AAF667AEC86667 | localhost |
| root             | *E0AAECBBB187B27AAF667AEC86667 | %         |
| mysql.session    | *THISISNOTAVALIDPASSWORDTHAT | localhost |
| mysql.sys        | *THISISNOTAVALIDPASSWORDTHAT | localhost |
| debian-sys-maint | *456D0C7680DF288F66F7401EABC4B | localhost |
+------------------+-------------------------------+-----------+

The "%ここ" "MySQL が任意のホスト上のユーザーによるアクセスを許可することを示します。この出力が表示された場合、MySQL ではリモート アクセスが有効になっています。

上記の出力が表示されない場合、または上記とは異なる出力が表示される場合は、MySQL でリモート アクセスが有効になっていないことを意味します。この場合、リモート アクセスを許可するように MySQL を構成する必要があります。

ステップ 2: MySQL の新しいリモート アクセス アカウントを設定する

リモート アクセスを有効にする前に、MySQL の新しいリモート アクセス アカウントを作成する必要があります。その理由は、MySQL ではデフォルトで root ユーザーのみがローカルでサーバーにアクセスできるため、他のユーザーがアクセスするにはオープン認証を使用する必要があるためです。

新しいリモート アクセス アカウントを設定するには、MySQL シェルで次のコマンドを実行する必要があります:

CREATE USER 'newuser'@'%' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'newuser'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;

これらのコマンドは、「newuser」という名前の新しいユーザーを作成し、すべてのユーザーを割り当てます。アクセス権 。 「%」は、ユーザーが任意のホストから MySQL サーバーにアクセスできることを意味します。特定の IP アドレスまたはホスト名を使用して、許可するホストを指定することもできます。たとえば、「newuser」@「10.0.0.2」は、IP アドレス「10.0.0.2」のホストからのみ MySQL サーバーへのアクセスが許可されることを意味します。

ステップ 3: MySQL トラフィックを許可するようにファイアウォールを構成する

通常、MySQL サーバーはファイアウォールで保護されている場合があります。 MySQL サーバーへのリモート アクセスを許可するには、ファイアウォールで MySQL ポートを開く必要があります (デフォルトは 3306)。これを行うには、次のコマンドを入力する必要があります。

sudo ufw allow 3306/tcp

このコマンドは、「3306」という名前のポートを開き、TCP トラフィックがファイアウォールを通過できるようにします。ただし、この手順に進む前に、ファイアウォールがインストールされ有効になっていることを確認する必要があります。

ステップ 4: MySQL 構成ファイルを更新する

MySQL サーバーへのリモート ログインを許可するには、MySQL 構成ファイルで設定する必要があります。デフォルトでは、MySQL 設定ファイルは「/etc/mysql/mysql.conf.d/mysqld.cnf」にあります。管理者としてファイルを開き、次のようにいくつかの値を編集する必要があります:

bind-address = 0.0.0.0

上記のコマンドにより、MySQL サーバーは任意の IP アドレスからの接続リクエストを受け入れることができます。これは、MySQL サーバーが不正アクセスに対して脆弱になるため、安全ではない可能性があることに注意してください。 MySQL へのリモート アクセスをより安全にしたい場合は、アクセスを許可する IP アドレスまたは CIDR 範囲を指定する必要があります。

ステップ 5: MySQL サーバーを再起動する

MySQL 構成ファイルを変更した後、変更を有効にするために MySQL サーバーを再起動する必要があります。 MySQL を再起動するには、次のコマンドを使用できます:

sudo systemctl restart mysql

次の出力が表示された場合は、MySQL サーバーが正常に再起動されたことを意味します:

mysql.service - MySQL Community Server
Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2019-01-21 15:40:22 EST; 17s ago

この時点で、正常に再起動されています。 MySQL サーバーのリモート アクセスをセットアップします。

結論

MySQL は、サーバー上でローカルまたはリモートからアクセスできる強力なデータベース管理システムです。この記事では、Ubuntu 18.04 オペレーティング システムで MySQL へのリモート アクセスを設定する方法について説明します。上記の手順に従うことで、異なるマシン間で MySQL リモート アクセスを簡単に実行できます。ただし、セキュリティに注意し、MySQL サーバーを不正アクセスから保護する必要があることに注意してください。

以上がUbuntu で MySQL のリモート アクセスをセットアップする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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