LoginSignup
21
20

More than 3 years have passed since last update.

mysqlへログインできない問題

Last updated at Posted at 2018-10-15

基本的なことだがmysqlのログイン時の挙動でつまづいたのでメモ

コマンドメモ

▼登録済みユーザーの確認
SELECT user, host, password FROM mysql.user;
+----------+-----------+-------------------------------------------+
| user     | host      | password                                  |
+----------+-----------+-------------------------------------------+
| root     | localhost | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
| root     | localenv  |                                           |
| root     | 127.0.0.1 |                                           |
| root     | ::1       |                                           |
|          | localhost |                                           |
|          | localenv  |                                           |
| hogehoge | %         | *0B025000DCF68B1D374153A7005639E320D41D5B |
+----------+-----------+-------------------------------------------+
▼ユーザー作成
CREATE USER 'user名'@'ホスト名' IDENTIFIED BY 'パスワード';
例) CREATE USER hogehoge@'%' IDENTIFIED BY 'hogehoge';

※ホスト名の指定なしなら「%」がデフォルトで設定される
※明示的に「%」を指定する場合はシングルクォートで囲む

▼権限の表示
SHOW GRANTS FOR 'user名'@'ホスト名 or IPアドレス';
▼パスワードの設定
SET PASSWORD FOR 'ユーザー名'@'ホスト名' = PASSWORD('パスワード');
例) SET PASSWORD FOR 'root'@'localhost' = PASSWORD('root');
▼ユーザーの削除
DROP USER 'user名'@'ホスト名 or IPアドレス';

ログインできない問題の解決

ユーザーを作って、パスワードを設定したのにログインしようとするとエラー

mysql -uhogehoge -phogehoge
Warning: Using a password on the command line interface can be insecure.
ERROR 1045 (28000): Access denied for user 'hogehoge'@'localhost' (using password: YES)

どうやら、アクセスしたい6行目の「hogehoge@'%'」よりも先に
5行目の「''@localhost」の匿名ユーザーに該当すると判断されるようです
今回、私には匿名ユーザーは必要無かったので消しました

mysql> DROP USER ''@'localhost';
Query OK, 0 rows affected (0.01 sec)

mysql> SELECT user, host, password FROM mysql.user;
+----------+-----------+-------------------------------------------+
| user     | host      | password                                  |
+----------+-----------+-------------------------------------------+
| root     | localhost | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
| root     | localenv  |                                           |
| root     | 127.0.0.1 |                                           |
| root     | ::1       |                                           |
|          | localenv  |                                           |
| hogehoge | %         | *0B025000DCF68B1D374153A7005639E320D41D5B |
+----------+-----------+-------------------------------------------+

はい、これでログインできました!
ユーザーを作成したのに、ログインできない!となったら他のユーザーが悪さしていないか確かめた方がよさそうです
...というか不要なユーザーはすべて消した方がいいですね

21
20
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
21
20