在淘宝ews上部署codeigniter,我们连接的是自己的服务器的数据库,部署完毕后发现数据库无法连接。
ci日志里面显示
ERROR - 2016-10-17 19:07:42 --> Severity: Warning --> mysqli_connect(): (HY000/2000): 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 f rom your my.cnf file /acs/code/system/database/drivers/mysqli/mysqli_driver.php 76
出现这个问题的原因是本地的业务数据库my.cnf里面配置了old_password=1,配置了这项的时候mysql用户的密码是16位的,使用mysqlnd方式的时候认证通不过,需要将密码长度扩展到41位。
my.cnf里面删除old_password。重新启动mysql
把相关的用户的密码重新设置一下:
update password=password('123123') where user='test'
再次连接数据库就已经可以成功连接了。
http://www.9iread.cn/language/453.html