'name' @ '%'を使用してMySQLにユーザーを追加すると、エラー1396で失敗する


9

私はMySQLに新しいユーザーを追加しようとしました

CREATE USER 'name'@'%' IDENTIFIED BY '...'

ただし、次のエラーで失敗します。

ERROR 1396 (HY000): Operation CREATE USER failed for 'name'@'%'

localhostのためだけにユーザーを追加することはうまくいきます:

CREATE USER 'name'@'localhost' IDENTIFIED BY '...'

何が問題なのか、私にはわかりません。どんなアイデアでもありがたいです。

(私はを使用していmysql Ver 14.14 Distrib 5.1.66ます。)


私は同様の問題に直面しましたが、ユーザーの作成/削除中に、ユーザー情報のすべての付与テーブルを確認しましたが、ユーザー情報を見つけることができませんでした。すべてのアクセスを取り消してユーザーを削除しました。私はここに私の詳細な回答書かれたすべての変更、rathishkumar.in/2018/10/...
Rathish

回答:


13

ドキュメントによると @ 'hostname'(つまり、CREATE USER 'name')を省略した場合、MySQLはそれを@ '%'があると解釈します。指定したエラーメッセージは、システムにユーザー 'name' @ '%'がすでに存在することを示しています。

mysql> CREATE USER 'name'@'%' IDENTIFIED BY 'test';
Query OK, 0 rows affected (0.04 sec)

mysql> CREATE USER 'name'@'%' IDENTIFIED BY 'test';
ERROR 1396 (HY000): Operation CREATE USER failed for 'name'@'%'
mysql> CREATE USER 'name' IDENTIFIED BY 'test';
ERROR 1396 (HY000): Operation CREATE USER failed for 'name'@'%'

ユーザーを削除してもメッセージが表示される場合は、FLUSH PRIVILEGESを実行してみてください。

追加情報については、このSOの質問も参照してください。


1

mysql:5.7 docker imageを使用しているときに、私はこれと同じエラーに直面していました。主な間違いはroot、デフォルトで存在するユーザーを作成しようとしたことです。詳細:https : //github.com/docker-library/mysql/issues/129

上記のリンクで与えられるよう、解決策は設定しないことだったMYSQL_USERMYSQL_PASSWORDドッキングウィンドウのイメージを起動しながら、環境変数で。


これは非常に役に立ちました!DockerでDBに接続できない理由がわかりませんでした。これが原因であるとは思われませんでした。
dingo_d
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.