😸个人主页👉:神兽汤姆猫
📖系列专栏:开发语言环境配置 、 Java学习 、Java面试 、Markdown等
学习上的每一次进步,均来自于平时的努力与坚持。
💕如果此篇文章对您有帮助的话,请点赞、转发、收藏这对我有很大的帮助。
前言
安装MySQL请看这篇:最全MySQL下载安装详细配置
安装MySQL8.4.2LTS长期支持服务版时,默认密码更改报错ERROR 1524 (HY000): Plugin 'mysql_native_password' is not loaded。(此方法适用于8.4版本及以上的此报错,包括MySQL9)
复现问题
MySQL配置完毕使用管理员权限打开CMD,输入net start mysql正常启动服务,然后链接数据库输入mysql -u root -p,此时出现Enter password,我们输入默认的随机密码。如下图所示:
此时我们需要将默认随机密码改为root,所以我们键入alter user 'root'@'localhost' identified with mysql_native_password by 'root';
出现如下图所示ERROR 1524 (HY000): Plugin 'mysql_native_password' is not loaded报错:
问题原因
在查阅了官方文档后发现官方对MySQL8.4的MySQL原生密码验证和InnoDB系统变量默认值都进行了更改,而导致此问题的发生。
解决报错问题
MySQL8.4版本开始及以后官方将对
mysql_native_password
验证插件不再默认启用,如果我们要重新启用则需添加mysql-native-password=ON然后启动服务器。也可以在配置文件中添加此代码。具体方法如下:
此时我们检查自己的配置文件my.ini看一下是否有此代码段,以下是8.4以下正常配置文件的截图:
经过检查并未发现此代码段,那么我们只需将其添加上即可。如下图所示:
如果此时你对MySQL的安装或者配置等有其他疑问请移步此文章,它将解决你百分之80的问题和疑问: 最全MySQL下载安装详细配置--超详细保姆级,附常见问题解决方法(2024更新版)。_mysql下载安装配置-优快云博客
对于此配置文件你也可以直接使用VSCode打开将此代码段复制过去。
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
# 设置3306端口
port = 3306
# 设置mysql的安装目录
basedir = D:\\CodeEnvironment\\MySQL\\mysql-8.4.2-winx64
# 设置mysql数据库的数据的存放目录
datadir = D:\\CodeEnvironment\\MySQL\\mysql-8.4.2-winx64\\data
# 允许最大连接数
max_connections=20
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 创建模式
sql_mode = NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
# MySQL8.4版本及以上添加,启用验证密码插件(非8.4及以上无需添加)
mysql_native_password=ON
此时我们已经将其配置文件更改保存,请按如下依步进行操作。
输入如下命令停止MySQL服务:
net stop mysql
输入如下命令启动MySQL服务:
net start mysql
输入如下命令链接数据库:
mysql -u root -p
输入如下命令更改默认密码(root是我更改的密码,你们只需将其替换为你们自己的即可):
alter user 'root'@'localhost' identified with mysql_native_password by 'root';
问题解决完毕,效果如下图所示:
💕如果此篇文章对您有帮助的话,请点赞、转发、收藏这对我有很大的帮助。