【DBeaver】【MySQL】出错:用户 ‘root’@’localhost’被拒绝访问的解决方法
概述
首先,DBeaver是什么?
這個多平台支持的數據庫GUI工具支持多個數據庫,包括MySQL、PostgreSQL、MariaDB、SQLite、Oracle、DB2、SQL Server、Sybase、MS Access、Teradata、Firebird、Derby等。企業版還支持NoSQL/BigData數據庫,如MongoDB、InfluxDB、Apache Cassandra、Redis、Apache Hive。
雖然TeamSQL也不錯,但DBeaver也很好。
我想写下我解决该错误的方法,当我尝试从DBeaver访问MySQL时出现了标题中提到的错误。
环境
DBeaver 6.3.0
MySQL 5.7
Windows10
DBeaver 6.3.0
MySQL 5.7
Windows10
为什么
大致来说,如果在MySQL上不使用sudo就可以登录,问题就解决了。
实际上,由于我之前无法在MySQL上不使用sudo登录,这就是问题的原因。
方法 (yà
几乎按照这篇文章的指示完成了。
在MySQL5.7中无需sudo即可以root身份登录。
因为我在中途遇到了一些困难,所以我想简单地解释一下。
首先,使用sudo命令登录到MySQL。
sudo mysql -u root -p
当你登录到MySQL后,执行以下命令:
键入你自己设定的密码,被’引号括起来。
密码以明文形式显示,有点让人害怕。
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
所以当我执行这个时,出现了以下错误。
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
由于我安装了验证密码插件,所以出现了这个错误。因此,我想将其移除。
在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等垃圾功能