Ubuntu を使用してリモート MySQL サーバーに接続するさまざまな方法

Mehvish Ashiq 2024年2月15日
  1. Ubuntu を使用してリモート MySQL サーバーに接続するさまざまな方法
  2. データ操作のための Ubuntu 20.04 クライアント マシンから Ubuntu 20.04 サーバー マシンへの接続
  3. Ubuntu 20.04 クライアント マシンから Ubuntu 20.04 サーバー マシンに接続してサーバーを起動、停止、再起動する
Ubuntu を使用してリモート MySQL サーバーに接続するさまざまな方法

今日は、Ubuntu を使用してリモートの MySQL サーバーに接続し、データを操作して MySQL サーバーを起動および停止する方法を学習します。

Ubuntu を使用してリモート MySQL サーバーに接続するさまざまな方法

  1. Ubuntu 20.04 クライアント マシンから Ubuntu 20.04 サーバー マシンへのデータ操作
  2. Ubuntu 20.04 クライアント マシンから Ubuntu 20.04 サーバー マシンへの MySQL サーバーの停止/開始

データ操作のための Ubuntu 20.04 クライアント マシンから Ubuntu 20.04 サーバー マシンへの接続

カスタム ユーザーと接続する

ここでは、リモートの MySQL サーバーに存在するカスタム ユーザーを接続する方法を学習します。 リモート MySQL サーバーで mehvish という名前のユーザーを作成し、すべての権限を付与しました。

mysql> CREATE USER "mehvish"@"%" IDENTIFIED BY "PASSWORD";
#here % sign shows that this user can be connected remotely

リモートの MySQL サーバーに接続するには、マシンに mysql-client をインストールする必要があります。 Microsoft Windows 10 では、MySQL サーバーのインストール時に mysql-client が自動的にインストールされます。

この 記事 に従って、クライアント マシンに MySQL をインストールできます。

リモート接続を行うには、MySQL サーバーがホストされているホスト マシンの IP アドレス、ユーザー名、およびその特定のユーザー アカウントのパスワードが必要です。 その IP アドレスを取得するには、MySQL サーバーが存在する Ubuntu で ip a または ifconfig コマンドを使用します。

IP アドレス、ユーザー名、およびパスワードがわかったら、次のコマンドを使用してリモートの MySQL サーバーに接続できます。

# Syntax
# mysql -h hostIP -u username -p password
$ mysql -h 192.168.56.102 -u mehvish -p ******

初めてリモート接続しようとすると、おそらく次のエラーが表示されます。

ERROR 2003 (HY000): Can't connect to MySQL server on '10.0.2.15:3306' (10060)

このエラーを取り除くには、MySQL サーバーの構成ファイルを変更する必要があります。 vim テキスト エディター を使用して構成ファイルを編集しますが、任意の選択肢を使用できます。

$ sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf

ファイルが開いたら、[mysqld] セクションの下にある bind-address を見つけて、次のスクリーンショットに示すようにコメントします。 bind-address オプションについてコメントしているのはなぜですか?

MySQL サーバーは、デフォルトの動作によりリモート接続を許可しません。 localhost が MySQL サーバーに接続できるようにするだけです。 そのため、bind-address をコメントして、リモート クライアント マシンが MySQL サーバーとの接続を確立できるようにします。

あるいは、bind_address にコメントする代わりに、次のようにすることもできます。

  1. bind-address の値を 127.0.0.1 から 0.0.0.0 に変更できます。
  2. bind-address オプションがない場合は、skip-networkingskip-bind-address を記述できます。

ubuntu を使用してリモート mysql サーバーに接続するさまざまな方法- ubuntu のコメント バインド アドレス

次のオプションを使用して、vim テキスト エディターを使用して構成ファイルを編集および保存できます。

  1. I を押してファイルを編集します。
  2. Esc を押して編集モードを終了します。
  3. Esc を押して :w と入力し、Enter を押してファイルを保存します。
  4. Esc を押し、:q と入力し、Enter を押してファイルを終了します。
  5. Esc を押して、:wq と入力し、Enter を押して、ファイルを 1 ステップで保存して終了します。
  6. Esc を押して :q! と入力し、Enter を押してすべての変更を破棄してファイルを終了します。

MySQL サーバーがホストされているマシンで、次のようにサービスを再起動する必要があります。

$ sudo systemctl restart mysql

次に、次のコマンドを再度使用して、リモート MySQL サーバーに存在する mehvish ユーザー アカウントに正常に接続します。 ローカル マシンで次のクエリを使用していることを思い出してください。

$ mysql -h 192.168.56.102 -u mehvish -p ******

root ユーザーで接続する

詳細に入る前に、root ユーザーがリモート接続を受け入れるかどうかを確認しましょう。 MySQL サーバーがホストされている Ubuntu で次のコマンドを使用できます。

mysql> SELECT USER, HOST from mysql.user;

出力:

ubuntu を使用してリモート mysql サーバーに接続するさまざまな方法 - ubuntu 上のユーザー ホスト

root ユーザーは localhost からしか接続できないことがわかりましたか? リモート接続するには、次のコマンドを使用してリモート アクセスを許可する必要があります。

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost';
mysql> UPDATE mysql.user SET host='%' WHERE user='root';

さらに、次のコマンドを使用して MySQL サーバーを再起動します。

$ sudo systemctl restart mysql

ここで、root ユーザーがリモート接続を受け入れるかどうかを確認します。 サーバー マシン上の root ユーザーのホストは % です。これは、root アカウントにリモート接続できることを示しています。

ubuntu を使用してリモート mysql サーバーに接続するさまざまな方法 - ubuntu でリモート アクセスできるルート

これで、次のクエリを使用してデータの読み取り/書き込みを行うことで、ローカル マシンから root ユーザーに接続できます。

$ mysql -h 192.168.56.102 -u root -p ******

MySQL サーバーを起動、停止、再起動したい場合はどうすればよいでしょうか? そのためには、MySQL サーバーのシェル上にいる必要があります。つまり、マシン上でサーバーのシェルを開く方法で接続する必要があります。

どうすればそれができますか? 次の章を見てみましょう。

Ubuntu 20.04 クライアント マシンから Ubuntu 20.04 サーバー マシンに接続してサーバーを起動、停止、再起動する

セキュア シェル (セキュア ソケット シェルとも呼ばれます) を使用してリモート サーバーに接続するには、指定された手順に従う必要があります。

  1. ssh をインストールして、Ubuntu マシンでホストされている MySQL サーバーへのシェル アクセスを取得します。

  2. 次に、ssh を構成します。 次に、ホスト マシン (ローカル マシン) でターミナルを開き、リモート サーバーに接続するための正しい資格情報を書き込みます。

    状況に応じて、次のいずれかを使用できます。

    2.1. ssh remote_host コマンドを使用します。 これは最も簡単で、リモート マシンとローカル マシンで同じユーザー名を使用している場合に使用されます。
    2.2. ユーザー名がローカル マシンとリモート マシンで異なる場合は、ssh remote_username@remote_host を使用します。 これにより、サーバー マシンのシェルにアクセスできるようになります。

  3. 次のコマンドを使用して、要件に従って機能できます。

MySQL サーバーを起動します。

$ sudo systemctl start mysql

MySQL サーバーを停止します。

$ sudo systemctl stop mysql

MySQL サーバーを再起動します。

$ sudo systemctl restart mysql

MySQL サーバーのステータスを確認します。

$ sudo systemctl status mysql

MySQL サーバーの名前は mysqld であることに注意してください。その場合、次のようにコマンドを使用する必要がある場合があります。

$ sudo /etc/init.d/mysql restart
著者: Mehvish Ashiq
Mehvish Ashiq avatar Mehvish Ashiq avatar

Mehvish Ashiq is a former Java Programmer and a Data Science enthusiast who leverages her expertise to help others to learn and grow by creating interesting, useful, and reader-friendly content in Computer Programming, Data Science, and Technology.

LinkedIn GitHub Facebook

関連記事 - MySQL Linux