当前位置: 首页 > 知识库问答 >
问题:

mysql - MYSQL日志中有大量的这个错误该怎么办?

宣冥夜
2025-03-10

MYSQL日志中有大量的这个错误

[Warning] [MY-013360] [Server] Plugin mysql_native_password reported: ''mysql_native_password' is deprecated and will be removed in a future release. Please use caching_sha2_password instead'

amh版本7.52
MySQL是8.0

有搜到解决方案, 但是想从amh面板中直接解决, 而不是通过直接去修改MySQL的配置项, 担心后面升级的时候会出现额外的问题.
我能否直接在"配置编辑方式"中把
default_authentication_plugin = mysql_native_password
修改为
default_authentication_plugin = caching_sha2_password

共有2个答案

法浩壤
2025-03-10

这个可以忽略。只要调用程序使用native密码验证,就一定会有这个错误。

show plugins; -- 查看mysql_native_password是否是active

uninstall plugin mysql_native_password; -- 彻底卸载插件

新问题是:错误日志就变了成别的了。该有的日志还是会有。取决于应用程序。

小牛23139
2025-03-10

是的,你可以直接在AMH面板中修改default_authentication_plugin参数。以下是具体操作步骤和注意事项:


1. 通过AMH面板修改配置

  • 登录AMH面板 → 进入「MySQL 管理」→ 找到「配置编辑方式」(或类似选项)。
  • 在配置文件中添加/修改以下参数:

    default_authentication_plugin = caching_sha2_password
  • 保存配置并重启MySQL服务。

2. 为什么需要这样做?

  • MySQL 8.0+ 默认使用caching_sha2_password,但如果你之前通过其他方式强制启用了mysql_native_password,会导致该警告。
  • 修改后,新创建的用户会默认使用新插件,但需同步更新已有用户的认证方式(见下一步)。

3. 更新现有用户的认证插件

即使修改了全局配置,已存在的用户仍可能使用旧插件。需手动更新:

ALTER USER '你的用户名'@'localhost' IDENTIFIED WITH caching_sha2_password BY '你的密码';
FLUSH PRIVILEGES;

4. 注意事项

  • 兼容性:部分旧客户端/应用可能不兼容caching_sha2_password(如PHP老版本)。若出现连接问题,需升级客户端或降级认证方式。
  • AMH升级影响:通过面板修改的配置通常会被保留,但建议升级前备份/etc/my.cnf或AMH的MySQL配置文件。
  • 无需其他修改:AMH面板的PHPMyAdmin等组件已支持新插件,无需额外配置。

总结

直接通过AMH面板修改配置是安全的,且能有效消除警告。只需确保现有用户认证方式与新插件兼容即可。

 类似资料:
  • 主要内容:启动和设置错误日志,查看错误日志,删除错误日志错误日志(Error Log)是 MySQL 中最常用的一种日志,主要记录 MySQL 服务器启动和停止过程中的信息、服务器在运行过程中发生的故障和异常情况等。 作为初学者,要学会利用错误日志来定位问题。下面介绍如何操作查看错误日志。 启动和设置错误日志 在 MySQL 数据库中,默认开启错误日志功能。一般情况下,错误日志存储在 MySQL 数据库的数据文件夹下,通常名称为 hostname.er

  • 本文向大家介绍MySQL中的undo日志,包括了MySQL中的undo日志的使用技巧和注意事项,需要的朋友参考一下 概念介绍: 我们知道,MySQL中的redo日志记录了事务的行为,在服务器宕机的时候,可以通过重做事务来达到恢复数据的目的,然而,有的时候,事务还有回滚的需求,也就是说,我们需要知道某条在变成当前情况之前的样子,这种情况下,undo日志就派上用场了。也就是说,undo日志是为了将数据

  • 问题内容: 我有一些Node.js代码,尝试通过以下方式更新数据库: 对于不同的“命令”值,将重复运行以上操作,从而生成对数据库的不同查询。问题在于,当出现错误时,错误的查询会显示在中。这是因为将查询添加到队列的时间与实际执行查询的时间不同,因此每次这些时间的“ command”值都不相同。有没有解决的办法? 注意:打印错误本身以及查询的一部分,但仅打印发生错误的行。我想打印整个查询。 问题答案:

  • 我有以下错误,当我建立我的反应原生应用程序的Android(iOS没有问题)。 错误:清单合并失败,有多个错误,请参见日志 当我在发布模式下生成时,这会导致一个真正的问题(调试中的应用程序没有问题),因为它会为我的发布生成生成以下清单文件: AndroidManifest。xml(在app/src/release/中) 我知道有很多关于这方面的问题,但它们对我的情况并没有真正的帮助,因为如果我遵循

  • 本文向大家介绍linux 后台日志 mysql 错误异常的解释(推荐),包括了linux 后台日志 mysql 错误异常的解释(推荐)的使用技巧和注意事项,需要的朋友参考一下 1、Caused by: com.MySQL.jdbc.exceptions.jdbc4.CommunicationsException: The last packet successfully received from

  • 本文向大家介绍详解grep获取MySQL错误日志信息的方法,包括了详解grep获取MySQL错误日志信息的方法的使用技巧和注意事项,需要的朋友参考一下 为方便维护MySQL,写了个脚本用以提供收集错误信息的接口。这些错误信息来自与MySQL错误日志,而 通过grep mysql可以获取error-log的路径。 以下是全部相关代码: 有兴趣的朋友们参考学习下,感谢大家对呐喊教程的支持。

  • 主要内容:前 言,索引失效会导致什么后果?,sql优化案例实战,| 体验下无索引的查询效率,| 体验下有索引的查询效率,| sql优化案例:隐式转换导致索引失效,结束语前 言 上一期,我们讲解了sql优化的一般流程,不管是优化join语句、where语句、聚合函数还是排序操作,核心在于利用索引来优化sql语句,但是,大家以为我们为字段创建了索引之后,索引就一定会生效吗? 当然不是的,因为索引可能会失效。 那索引为什么会失效呢?失效之后会导致什么样的后果呢?这一节,我们利用当下的问题,也就是千万级