出版

MySQL サーバーへのリモート接続を許可する必要がある場合は、そのタスクを簡単に実行する方法を確認してください。

MySQL を使用する場合、サーバーへのリモート アクセスを許可する必要がある場合があります。
例えば、データベースとWeb専用のサーバーをそれぞれセットアップしているとします。WebサーバーではWordPressインスタンスをホストしており、リモートのMySQLサーバーへのアクセスを許可する必要があります。Ubuntu Serverでは初期状態ではリモート接続が許可されていないため、MySQLを手動で設定してリモート接続を許可する必要があります。設定は非常に簡単で、特定のIPアドレスを持つ特定のユーザーからのみアクセスできるようにMySQLサーバーをロックダウンすることも可能です。
では、MySQLサーバーを詳しく設定し、リモート接続を受け入れるようにしてみましょう。ここではUbuntu Server 16.04インスタンスを使用しますが、MySQLをホストするほぼすべてのLinuxプラットフォームで手順はほぼ同じです。
参照: リモート アクセス ポリシー (Tech Pro Research )
ステップ1: アクセスを許可する
MySQLの初期状態では、ローカルホストのアドレス127.0.0.1からのアクセスのみが許可されます。これを変更するには、/etc/mysql/ mysql.conf.d/mysqld.cnfファイルを開き、以下の行を変更する必要があります。
bind-address = 127.0.0.1
に:
bind-address = 0.0.0.0
ファイルを保存して閉じます。以下のコマンドでMySQLサーバーを再起動します。
systemctl restart mysql.service
ステップ2: ユーザーへのアクセスを許可する
WordPressサーバー(IPアドレス192.168.1.100)をセットアップし、ユーザーwpadminでMySQLサーバー上のwordpressdbというMySQLデータベースにアクセスするとします。MySQLサーバー側で、そのIPアドレスからwordpressdbへのアクセスを許可する必要があります。ユーザーへのアクセスを許可する手順は以下のとおりです(MySQLサーバー上に既にユーザーwpadminを作成し、パスワード%u#098Tl3を設定していることを前提としています)。
- MySQL サーバーにログインします。
- mysql -u root -pコマンドでMySQLにログインします。
- MySQL ルート ユーザーのパスワードを入力します。
- MySQL コマンドを発行します:
GRANT ALL ON wordpressdb.* TO 'wpadmin'@'192.168.1.100' IDENTIFIED BY '%u#098Tl3' WITH GRANT OPTION;
- FLUSH PRIVILEGESコマンドを使用して MySQL 権限をフラッシュします。
- exitコマンドで MySQL プロンプトを終了します。
WordPress インスタンス (データベースの適切なユーザー資格情報を使用して設定) は、リモート MySQL サーバーをデータベース ホストとして使用できるはずです。
おめでとうございます!リモート接続用に MySQL を正常に設定しました。
安全を保つ
MySQLをリモートサーバーからの接続に開放することは可能ですが、セキュリティ侵害の可能性を避けるため、権限を付与するユーザーは限定する必要があります。また、対象となるユーザーには強力なパスワードを使用させるようにしてください。これらに加え、MySQLサーバーを最新の状態に維持すれば、問題なく使用できるはずです。
こちらもご覧ください
- たった一つのコマンドでMySQLのセキュリティを強化する方法
- LinuxのコマンドラインからMySQLデータベースをバックアップする方法
- Ubuntu 16.04にWordPressをインストールする方法
- backupninjaでデータベースのバックアップを自動化する方法
- 新しいノートパソコンでLinuxをもっと使おう: Fedora、Linux Mint、Ubuntu

ジャック・ウォーレン
ジャック・ウォーレンは、TechRepublic、The New Stack、Linux New Mediaなどで受賞歴のあるライターです。20年以上にわたり様々なトピックを執筆し、オープンソースの熱心な推進者でもあります。ジャック・ウォーレンに関する詳細は、ウェブサイトjackwallen.comをご覧ください。