1

クエリを使用してユーザーを作成する方法を学習しています。ローカルホストで次のように動作していることがわかりましたが、パーセント記号 (%) が何を意味するのかわかりません。私が持っている他のユーザーのようなホストではなく、phpMyAdminに表示されるように、ホスト「ホスト」としてユーザーtest_userを作成します。%localhost

CREATE USER 'test_user'@'%' IDENTIFIED BY 'password';

また、このユーザーに権限を割り当てる際に何が間違っているのでしょうか?

これは機能しません:

GRANT SELECT, UPDATE ON test_db.* TO 'test_user'@'localhost';

これは機能します:

GRANT SELECT, UPDATE ON *.* TO 'test_user'@'localhost';
4

3 に答える 3

2

MySQLの%文字は、文字列のワイルドカード文字です。ユーザーのホスト名としてを%使用すると、ユーザーは任意のホストから接続できます。

詳細については、こちらを参照してください: MySQL アカウント名リファレンス

于 2013-05-30T00:00:38.003 に答える
1

%*正規表現や他のいくつかの場所と同様の MySQL ワイルドカードです。

test_userここでは、が任意の IP から接続できると判断します。

于 2013-05-30T00:00:52.363 に答える
1

私の知る限り、% 記号は SQL のワイルドカードです。これは、test_user のホストが任意のホスト/IP から接続できることを意味します。

于 2013-05-30T00:01:24.137 に答える