LoginSignup
5
5

More than 3 years have passed since last update.

【DBeaver】【MySQL】Error: access denied for user 'root'@'localhost'の対処法

Posted at

概要

そもそもDBeaverとは

マルチプラットフォーム対応のデータベースGUIツールで MySQL, PostgreSQL, MariaDB, SQLite, Oracle, DB2, SQL Server, Sybase, MS Access, Teradata, Firebird, Derby など、多くのデータベースに対応しています。
Enterprise Edition では MongoDB, InfluxDB, Apache Cassandra, Redis, Apache Hive など NoSQL / BigData database にも対応しています。

TeamSQL もいいけど、 DBeaver もいいぞより引用

今回、DBeaverからMySQLにアクセスしようとしたらタイトルに書いてあるエラーが出て、それが解決できたので自分がやったやり方を書きたいと思う。

環境

DBeaver 6.3.0
MySQL 5.7
Windows10

原因

ざっくり言うとMySQLにsudo無しでログインできるようにしたら解決した。
そもそも自分はMySQLにsudo無しでログインできるようになっていなかったのでそれが原因だった。

やり方

ほぼこの記事の通りにやった。
MySQL5.7でsudo無しでrootログイン

自分は途中でつまづいたところがあったので一応説明したいと思う。
まずはMySQLにsudoを使ってログインする。

sudo mysql -u root -p

MySQLにログインしたら下記コマンドを実行する。
'で囲まれたpasswordは自分で設定したものを打ち込む。
パスワードが生で見えるのでちょっと怖い。

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

それで自分はこれを実行したら下記のエラーが出た。

ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

自分はvalidate password プラグインを入れていたのでこのエラーが起こってしまった。なのでこれを取り除きたいと思う。
MySQLで以下を実行する。

mysql> uninstall plugin validate_password;

消せたかどうかはこれで確認できる。

mysql> SHOW VARIABLES LIKE 'validate_password%';
Empty set (0.00 sec)

最後に設定を反映するコマンドを実行して終了。

mysql> FLUSH PRIVILEGES;

以下を実行して入れたらsudo無しログイン成功

mysql -u root -p

これで自分はDBeaverからMySQLに接続できるようになりました。

参照元

TeamSQL もいいけど、 DBeaver もいいぞ
MySQL5.7でsudo無しでrootログイン
MySQL5.7のvalidate_passwordとかいうクソ機能殺す

5
5
0

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
5
5