多くのWebサイトとアプリケーションは、同じマシン上でWebサーバーとデータベースバックエンドをホストしています。ただし、一部の組織は分散環境に移行しています。別のデータベースサーバーを使用すると、ハードウェアのパフォーマンスとセキュリティを向上させ、リソースをすばやく拡張できます。
このチュートリアルでは、MySQLデータベースへのリモート接続を有効にする方法を示します。
前提条件
- Atlantic.NetCloudPlatformにMySQL8がインストールされた新しいUbuntu20.04VPS
- サーバーで構成されているrootパスワード
ステップ1-Atlantic.Netクラウドサーバーを作成する
まず、Atlantic.Netクラウドサーバーにログインします。少なくとも1GBのRAMを搭載したオペレーティングシステムとしてUbuntu20.04を選択して、新しいサーバーを作成します。 SSH経由でクラウドサーバーに接続し、ページの上部で強調表示されているクレデンシャルを使用してログインします。
Ubuntu 20.04サーバーにログインしたら、次のコマンドを実行して、ベースシステムを最新の利用可能なパッケージで更新します。
apt-get update -y
ステップ2–MySQLを構成する
開始する前に、次のコマンドを使用してMySQLリスニング接続を確認します。
ss -tunlp | grep 3306
次の出力が得られるはずです:
tcp LISTEN 0 151 127.0.0.1:3306 0.0.0.0:* users:(("mysqld",pid=7753,fd=33))
ご覧のとおり、MySQLサーバーはポート3306のローカルホストでリッスンしています。つまり、MySQLサーバーにはローカルホストからのみアクセスできます。
サーバーに到達できる外部IPアドレスをリッスンするようにMySQLサーバーを構成する必要があります。
これを有効にするには、mysqld.cnfファイルを編集します。
nano /etc/mysql/mysql.conf.d/mysqld.cnf
次の行を見つけます:
bind-address = 127.0.0.1
そして、それを次の行に置き換えます:
bind-address = 0.0.0.0
終了したらファイルを保存して閉じ、MySQLサービスを再起動して変更を実装します。
systemctl restart mysql
この時点で、MySQLサーバーは外部IPをリッスンするように構成されています。
ステップ3–リモートシステムからユーザーにアクセスを許可する
このセクションでは、新しいデータベースとデータベースユーザーを作成し、データベースに接続するためのリモートシステムへのアクセスを許可します。
まず、次のコマンドを使用してMySQLシェルにログインします。
mysql
ログインしたら、次のコマンドを使用して、リモートシステム用にtestdbという名前のデータベースとtestuserという名前のユーザーを作成します。
CREATE DATABASE testdb; CREATE USER 'testuser'@'remote-server-ip' IDENTIFIED BY 'password';
次に、リモートシステム(remote-server-ip)へのアクセスを許可して、testdbという名前のデータベースにテストユーザーとして接続します。
GRANT ALL PRIVILEGES ON testdb.* TO 'testuser'@'remote-server-ip';
次に、特権をフラッシュし、次のコマンドを使用してMySQLシェルを終了します。
FLUSH PRIVILEGES ; EXIT;
上記の例:
testdb :データベースの名前。
テストユーザー :ユーザーの名前。
remote-server-ip :リモートシステムのIPアドレス。
ステップ4–データベース接続の確認
この時点で、MySQLはIPremote-server-ipからのリモート接続を許可するように構成されています。
次に、リモートシステムにログインし、次のコマンドを使用してMySQLサーバーに接続します。
mysql -u testuser -h remote-server-ip -p
testuserのパスワードを入力し、Enterキーを押します。すべてが正しく設定されていれば、リモートMySQLサーバーにログインできます。次に、次のコマンドを使用してデータベースを一覧表示します。
show databases;
次の出力が表示されます。
+--------------------+ | Database | +--------------------+ | information_schema | | testdb | +--------------------+ 2 rows in set (0.01 sec)
結論
上記のガイドでは、MySQLリモート接続を有効にし、リモートシステムへのアクセスを許可してデータベースに接続する方法を学習しました。これで、リモートサーバーでホストされているデータベースを使用してアプリケーションをホストできます。今すぐAtlantic.NetからVPSホスティングでMySQLリモート接続を始めましょう! HIPAA準拠のデータベースをサポートすることもできます。