#概要
そもそも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 にも対応しています。
今回、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とかいうクソ機能殺す