ユーザー' myuser
'と2つのデータベースがあります。' db1
'および' db2
'。
' myuser
'はすでに使用する権限を持っているので、次のクエリを使用して、db1
''を使用するための追加のアクセス許可を彼に付与したいと思いました。db2
GRANT ALL ON db2.* TO 'myuser'@'localhost';
付与ステートメントを実行した後、' myuser
'最初のデータベースへの接続が失われました' db1
'
間違ったホスト名を使用したのではないかと思います。'localhost'の代わりに'%'を使用する必要がありました。私がする時:
select host from mysql.user where user = 'myuser';
これで、2つのホストレコード'%'
とlocalhost
そのユーザーの''が表示されます
SHOW GRANTステートメントを実行すると、さまざまなホストのアクセス許可を取得します。'localhost'および'%'。
mysql> SHOW GRANTS FOR 'myuser'@'localhost';
+----------------------------------------------------------------------+
| Grants for myuser@localhost |
+----------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'myuser'@'localhost' |
| GRANT ALL PRIVILEGES ON `beta_version`.* TO 'myuser'@'localhost' |
+----------------------------------------------------------------------+
と
mysql> SHOW GRANTS FOR 'myuser'@'%';
+-----------------------------------------------------------------------------------------------------------+
| Grants for myuser@% |
+-----------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'myuser'@'%' IDENTIFIED BY PASSWORD '*6ASDFASDFASDF...'
| GRANT ALL PRIVILEGES ON `myuser`.* TO 'myuser'@'%'
+-----------------------------------------------------------------------------------------------------------+
myuser
PHPスクリプトとphpMyAdminで''が機能しなくなった原因は何ですか?