user @ hostとmysql.dbテーブルのshow grantの違いを発見しました。どうしてこれなの?MySQL Show Grantsはmysql.dbとinfo_schema.schema_privilegesと異なります
どうすれば解決できますか?私たちはセキュリティが心配です。
私はmysql.usersのユーザーに対してショーグラントを実行しました。 mysql.usersではユーザは[email protected]であり、私がshow grantを実行すると、それは[email protected]に与えられます。
このユーザも私のことを心配していますデータベースにアクセスできます。
mysql.dbとinformation_schema.schema_privilegesを見ると、そのユーザーと同じユーザーがxxx.xxx。%のホストでそのデータベースにフルアクセスできることがわかります。
何がありますか?
編集 - 深い説明:
show grants for 'myuser'@'xxx.xxx.xxx.xxx';
それが返されます:
GRANT USAGE ON *.* TO 'myuser'@'xxx.xxx.xxx.xxx' IDENTIFIED BY PASSWORD 'xxxxxxxxxxxxxxxxx'
私が実行している場合:
select host,db,user from mysql.db where user='myuser';
私が取得ここ
は、私が持っているものです。
+----------+------------+------------+
| host | db | user |
+----------+------------+------------+
|xxx.xxx.% | somedb | myuser |
+----------+------------+------------+
私の答えを更新しないものをPT-ショー助成金の私の個人的なエミュレーションです! – RolandoMySQLDBA