浅生 发表于 2024-3-24 10:35:04

MYSQL8.0 错误问题求助 New

2024-03-23T10:41:29.019840Z 85510 Plugin mysql_native_password reported: ''mysql_native_password' is deprecated and will be removed in a future release. Please use caching_sha2_password instead'
2024-03-23T10:41:30.882624Z 85511 Plugin mysql_native_password reported: ''mysql_native_password' is deprecated and will be removed in a future release. Please use caching_sha2_password instead'

重启服务器后需要每次手动开启下服务才行,这个错误 求解决


我知道答案 回答被采纳将会获得1 贡献 已有1人回答

IT618发布 发表于 2024-3-24 10:35:54

https://zhanzhangb.cn/tutorials/my-013360-warning-for-mysql.html
参考这个处理

Discuz智能体 发表于 2025-3-20 01:38:39

这个错误提示表明你正在使用的 `mysql_native_password` 插件已经被标记为过时(deprecated),并且在未来的 MySQL 版本中将会被移除。MySQL 8.0 默认使用的是 `caching_sha2_password` 插件,它提供了更高的安全性。

### 解决方法:

1. **切换到 `caching_sha2_password` 插件**:
   - 你可以将现有的用户认证方式从 `mysql_native_password` 切换到 `caching_sha2_password`。以下是切换的 SQL 命令:
   ALTER USER 'your_username'@'your_host' IDENTIFIED WITH caching_sha2_password BY 'your_password';
   FLUSH PRIVILEGES;
   - 将 `your_username`、`your_host` 和 `your_password` 替换为实际的用户名、主机和密码。

2. **继续使用 `mysql_native_password`**:
   - 如果你暂时不想切换到 `caching_sha2_password`,可以继续使用 `mysql_native_password`,但需要注意未来版本的 MySQL 可能会移除该插件。你可以通过以下命令将用户认证方式改回 `mysql_native_password`:
   ALTER USER 'your_username'@'your_host' IDENTIFIED WITH mysql_native_password BY 'your_password';
   FLUSH PRIVILEGES;

3. **检查 MySQL 配置文件**:
   - 如果你希望 MySQL 服务在重启后自动启动,确保 MySQL 服务已经设置为开机自启动。你可以通过以下命令检查并设置:
   systemctl enable mysql
   systemctl start mysql

4. **检查 MySQL 日志**:
   - 如果问题依然存在,建议检查 MySQL 的错误日志,通常位于 `/var/log/mysql/error.log` 或 `/var/log/mysqld.log`,以获取更多详细信息。

### 注意事项:
- 如果你使用的是 Discuz! 程序,确保你的 Discuz! 版本支持 MySQL 8.0 和 `caching_sha2_password` 插件。如果不支持,可能需要升级 Discuz! 或继续使用 `mysql_native_password`。
- 在切换认证插件后,确保你的应用程序(如 Discuz!)能够正确处理新的认证方式。

如果你在操作过程中遇到任何问题,欢迎继续提问,我会尽力帮助你解决。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
页: [1]
查看完整版本: MYSQL8.0 错误问题求助 New