云虚拟主机使用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 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
具体报错信息以下图所示。
问题原因
出于安全考虑PHP5.3版本之后连接MySQL统一使用41位加密方式,如果在主机管理控制台中修改PHP的版本(例如,5.2修改为5.3),连接数据库会提示以上报错。
解决方案
阿里云提醒您:
- 如果您对实例或数据有修改、变更等风险操作,务必注意实例的容灾、容错能力,确保数据安全。
- 如果您对实例(包括但不限于ECS、RDS)等进行配置与数据修改,建议提前创建快照或开启RDS日志备份等功能。
- 如果您在阿里云平台授权或者提交过登录账号、密码等安全信息,建议您及时修改。
- 登录主机管理控制台,依次选择数据库信息>重置密码>确认,重置数据库密码,单击确认即可。
说明:修改数据库密码为新的密码(与原密码不一致),则需要将网站配置文件中的数据库密码修改为新的密码,如果不确定数据库配置文件如何修改,请向相关人员确认后进行处理。
- 若PHP版本为5.3请修改为5.2,依次选择高级环境设置>PHP版本设置,选择PHP5.2版本,单击保存设置即可。
适用于
- 云虚拟主机