虚拟主机PHP程序在安装如Discuz等程序时在数据库安装步骤中出现“mysqlnd cannot connect to MySQL 4.1+ using the old insecure authentication. ”错误,如下图:
该问题原因是出于安全考虑PHP5.3版本之后连接MySQL都统一使用41位加密方式,如果在虚机控制面板cp.hichina.com修改PHP版本,比如5.2改成5.3,而并没有修改数据库加密方式,仍然使用16位加密方式,连接数据库就会报如下错误:
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。
该问题可以尝试通过以下步骤解决:
登陆cp.hichina.com【主机管理控制台】->【数据库管理】,重置数据库密码,加密模式选择41位加密。同理如果是PHP5.3改成5.2版本,就修改数据库密码加密模式从41位改成16位。
温馨提示:通过控制面板修改数据库密码后必须将程序配置文件中的数据库密码修改为新的密码,如果不确定数据库配置文件如何修改,请谨慎操作,建议联系程序开发商咨询确认后再进行处理。