云虚拟主机内使用PHP安装Discuz论坛提示“mysqlnd cannot connect to MySQL 4.1+ using the old insecure”报错

云虚拟主机内使用PHP安装Discuz论坛提示“mysqlnd cannot connect to MySQL 4.1+ using the old insecure”报错

更新时间:2020-06-03 10:47:47

问题描述

在云虚拟主机内,使用PHP安装Discuz论坛创建数据库时,提示以下报错。

Could not connect: mysqlnd cannot connect to MySQL 4.1+ using the old insecure authentication. Please use an administration tool to reset your password with the command SET PASSWORD = PASSWORD('your_existing_password'). This will store a new, and more secure, hash value in mysql.user. If this user is used in other scripts executed by PHP 5.2 or earlier you might need to remove the old-passwords flag from your my.cnf file

具体报错信息以下图所示。

TB1HNRDHpXXXXXsXpXXXXXXXXXX.png

问题原因

出于安全考虑PHP5.3版本之后连接MySQL统一使用41位加密方式,如果在主机管理控制台中修改PHP的版本(例如,5.2修改为5.3),连接数据库会提示以上报错。

解决方案

阿里云提醒您:

  • 如果您对实例或数据有修改、变更等风险操作,务必注意实例的容灾、容错能力,确保数据安全。
  • 如果您对实例(包括但不限于ECS、RDS)等进行配置与数据修改,建议提前创建快照或开启RDS日志备份等功能。
  • 如果您在阿里云平台授权或者提交过登录账号、密码等安全信息,建议您及时修改。
  1. 登录主机管理控制台,依次选择数据库信息>重置密码>确认,重置数据库密码,单击确认即可。
    {50BD1ADF-974B-4FA6-98A1-80AE5E758662}_20200508172951.jpg
    说明:修改数据库密码为新的密码(与原密码不一致),则需要将网站配置文件中的数据库密码修改为新的密码,如果不确定数据库配置文件如何修改,请向相关人员确认后进行处理。
  2. PHP版本为5.3请修改为5.2,依次选择高级环境设置>PHP版本设置,选择PHP5.2版本,单击保存设置即可。

适用于

  • 云虚拟主机

如果您的问题仍未解决,您可以在阿里云社区免费咨询,或提交工单联系阿里云技术支持。