重庆思庄Oracle、Redhat认证学习论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1256|回复: 0
打印 上一主题 下一主题

[参数配置] mysql_native_password is deprecated and will be removed in a future release

[复制链接]
跳转到指定楼层
楼主
发表于 2023-9-17 12:53:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如果你的MySQL的用户还在使用mysql_native_password(密码插件)的认证方式,那么在MySQL更新到8.0.34后,每次数据库用户以mysql_native_password方式访问MySQL,日志就会输出mysql_native_password已经废弃,即将在未来版本移除,以caching_sha2_password替代。

日志原文:
Plugin mysql_native_password reported: 'mysql_native_password' is deprecated and will be removed in a future release. Please use caching_sha2_password instead

旧的数据库账户,除了MySQL自带的账户,通过SQL来更新认证模式和密码:
ALTER USER '用户名'@'域' IDENTIFIED WITH caching_sha2_password BY '密码';
必须附带密码(可以用旧密码),因为加密方式不一样。你不改密码直接通过UPDATE改用户认证模式到caching_sha2_password,MySQL会输出日志提示该用户无效,忽略。
Found invalid password for user: '用户名@域'; Ignoring user

而MySQL自身的账户,可以通过以下SQL更新到caching_sha2_password模式:
UPDATE mysql.user SET plugin='caching_sha2_password' WHERE user='mysql.session' OR user='mysql.sys' OR user='mysql.infoschema';
UPDATE mysql.user SET authentication_string='$A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED' WHERE user='mysql.session' OR user='mysql.sys' OR user='mysql.infoschema';

另外就是binlog_format默认为row,且已经废弃,即将在未来版本移除。
对于PHP来说,使用7.1(7.1.16之前的版本)或者7.2(7.2.4之前的版本),仍需要将MySQL服务器的默认密码插件设置为mysql_native_password,不然无法正常连接到MySQL。
这些版本的PHP建议尽快更新到最新版本8.2.8,或者尽快更新对应版本的新的小版本。

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 支持支持 反对反对
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|重庆思庄Oracle、Redhat认证学习论坛 ( 渝ICP备12004239号-4 )

GMT+8, 2024-4-29 03:51 , Processed in 0.103099 second(s), 20 queries .

重庆思庄学习中心论坛-重庆思庄科技有限公司论坛

© 2001-2020

快速回复 返回顶部 返回列表