質問:
MySQL データベースにリモート接続しようとする場合「user@'%」アカウントを使用すると、「user@'localhost」を使用して正常に接続したにもかかわらず、接続の問題が発生します。 「%」がどのホストからの接続も許可しないのはなぜですか?
回答:
リモート接続を確立するには、次の手順に従います:
1. MySQL バインド アドレスを構成します:
my.cnf (Windows では my.ini) ファイルを編集し、bind-address パラメーターをマシンの IP アドレスに設定します:
bind-address = xxx.xxx.xxx.xxx
2.ワイルドカード ユーザーを作成し、権限を付与します:
次のコマンドを実行します:
CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypass'; CREATE USER 'myuser'@'%' IDENTIFIED BY 'mypass';
GRANT ALL ON *.* TO 'myuser'@'localhost'; GRANT ALL ON *.* TO 'myuser'@'%';
FLUSH PRIVILEGES;
3.リモート接続ポートを開く:
オペレーティング システムによっては、リモート接続を許可するためにポート 3306 を開く必要がある場合があります。
説明:
'%' は、任意のホストからの接続を許可します。ただし、リモート接続の場合は、適切な IP アドレスにバインドするように MySQL を構成する必要があります。さらに、すべてのデータベースに対して付与された「localhost」と「%」の両方のワイルドカード権限を使用してユーザーを作成する必要があります。
以上が「%」ワイルドカードを使用して MySQL にリモート接続できないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。