LoginSignup
14
10

More than 3 years have passed since last update.

【mysql】Access denied for userが出たときの対処法

Last updated at Posted at 2020-07-28

Mysql(ver8)の開発用DBを、さくっと作りたい人向け。
そして、せっかちでじっくりドキュメントを読みたくない人向けです。
コピペしたけど実行したら、うまくいかないって場合に読んでみてください。

そもそもちゃんとドキュメント読めという話は一旦置いておいて・・。

以下のようなエラーが出たときの対処法。

28000Access denied for user 'xxxxx'@'xxxxxxxxxxxxx' (using password: YES)
42000Access denied for user 'xxxxx'@'xxxxxxxxxxxxx' (using password: YES)

参考

ユーザを作成
ユーザに権限を設定

前提

Mysqlのデータベースは、「localhost」に構築済。
各コマンドは、rootユーザで実行。
作成するユーザは、ユーザID:test パスワード:test

1.データベースの作成

create database testDB;

2.ユーザの作成(コピペを間違える。。)

create user 'test'@'192.168.0.1' identified by 'test';

以下のエラーがでます。

28000Access denied for user 'test'@'192.168.0.1' (using password: YES)

2-1.ユーザの作成(やり直し)

一度、ユーザを削除

drop user 'test'@'192.168.0.1';

上記のdropコマンド実行後に以下コマンド

create user 'test'@'localhost' identified by 'test'; --localhostからのアクセスを許可

もしくは

create user 'test'@'%' identified by 'test'; --全hostからのアクセスを許可

3.DBに接続

接続しようとすると、権限が無いので、以下のエラーが発生。

42000Access denied for user 'test'@'localhost' (using password: YES)

3-1.権限の付与

※以下コマンドの「localhost」の部分は、適宜「%」にするなど、変更してください。

GRANT ALL ON testDB.* TO 'test'@'localhost'; --testDBに対するすべての権限を付与

もしくは

GRANT ALL ON *.* TO 'test'@'localhost'; --全DBに対するすべての権限を付与

これでデータベースを操作できるようになるはず。

14
10
1

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
14
10