MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQLエラー1396(HY000)を解決:CREATE USER操作が失敗する原因と対処法

MySQLエラー1396(HY000)とは?

MySQLで新しいユーザーを作成しようとした際、「ERROR 1396 (HY000): Operation CREATE USER failed」というエラーが発生することがあります。このエラーは主に、以下のような原因で起こります。

  • 同じ名前のユーザーがすでに存在している(ホスト名が異なる場合も含む)
  • 過去にDROP USERが正しく実行されず、mysql.userテーブルに不整合なレコードが残っている
  • ユーザー名の大文字・小文字の認識の違いによる重複判定

ここでは、エラーを解消し、ユーザーを正しく作成する手順を解説します。

解決策:既存ユーザーの削除と権限の再読み込み

まず、対象となるユーザーが存在しない状態にしてから作り直します。次のコマンドを順に実行してください。

DROP USER 'Emma'@'localhost';
FLUSH PRIVILEGES;

DROP USERで既存のアカウント情報を削除し、FLUSH PRIVILEGESで権限テーブルを再読み込みすることで、不整合な状態が解消されます。その後、改めてCREATE USERを実行すれば、エラーを回避できるのが一般的です。

ユーザーを正しく作成する

続いて、CREATE USER文を使ってユーザーを正しく作成してみましょう。

mysql> create user 'Emma'@'localhost' IDENTIFIED BY 'emma_654';
Query OK, 0 rows affected (0.00 sec)

「Query OK」と表示されれば、ユーザーの作成は成功です。ユーザー名('Emma')、接続元ホスト('localhost')、パスワード(IDENTIFIED BY以降)を指定するのが基本の構文となります。

作成したユーザーの確認方法

ユーザーが正しく登録されたかどうかは、mysqlデータベースのuserテーブルを参照して確認できます。すべてのユーザーとホストの一覧を表示してみましょう。

mysql> select user,host from mysql.user;

このクエリを実行すると、以下のようにユーザーとホストの一覧が出力されます。一覧の中に、先ほど作成した「Emma」ユーザーがlocalhostホストで登録されていることを確認できます。

+------------------+-----------+
| user | host |
+------------------+-----------+
| Bob | % |
| Charlie | % |
| Robert | % |
| User2 | % |
| mysql.infoschema | % |
| mysql.session | % |
| mysql.sys | % |
| root | % |
| @UserName@ | localhost |
| Adam | localhost |
| Adam Smith | localhost |
| Chris | localhost |
| David | localhost |
| Emma | localhost |
| Jace | localhost |
| James | localhost |
| John | localhost |
| John Doe | localhost |
| Michael | localhost |
| Mike | localhost |
| Robert | localhost |
| User1 | localhost |
| am | localhost |
| hbstudent | localhost |
| mysql.infoschema | localhost |
| mysql.session | localhost |
+------------------+-----------+
26 rows in set (0.00 sec)

まとめ

エラー1396(HY000)は、ユーザーの二重登録や削除漏れによるデータ不整合が主な原因です。「DROP USER → FLUSH PRIVILEGES → CREATE USER」の順序で操作を行えば、多くの場合スムーズに解決できます。ユーザー管理を行う際は、作成後にselect文で一覧を確認し、意図した通りに登録されているかを必ずチェックする習慣をつけると安心です。

  1. Windows 10で「Set user settings to driver failed」エラーが出たときの7つの対処法

    多くのWindowsユーザー、特にLenovoやSony製のノートパソコンを使っている方から、「Set user settings to driver failed(ドライバーへのユーザー設定に失敗しました)」という不思議なエラーダイアログが表示されるという報告が寄せられています。この問題は主にシステム起動時に発生しますが、まれに予期しないタイミングで表示されることもあります。 原因はノートパソコンのタッチパッドデバイスです。このエラーを表示するデバイスとして最も多いのが「Alps Pointing Hardware」で、Lenovoのパソコンで特に頻繁に見られます。エラーはランダムに発生し

  2. ポケモンGOでログインできない・認証エラーが出る時の対処法9選

    ポケモンGOは、Niantic社が2016年にリリースしたAR(拡張現実)スマホゲームです。AndroidとiOS向けに提供され、世界中で絶大な人気を誇る作品となっています。ポケモンGOはオンライン状態で、かつアカウントにログインしている必要があるため、オフラインでは起動できません。しかし一部のユーザーからは「ログインに失敗しました」というエラーが表示されるとの報告があり、特に長期间ブランク後に復帰したプレイヤーの間で頻発しています。また「認証に失敗しました(Failed to Authenticate)」というエラーが出るケースもあります。本記事では、ポケモンGOのログインエラーを解消する