将代码部署到测试服务器的时间出现No such file or directory,检查nginx日志出现PHP message: PHP Warning: mysql_connect(): No such file or directory。经过检查发现原来是mysqlnd连接不到数据库,修改php的配置文件mysql.default_socket = /var/lib/mysql/mysql.sock 注意我这边是yum安装的mysql server,重新启动php-fpm.如果你使用的是apache的话则启动apache的服务即可。
使用mysql_connect('localhost','root','123')发现服务器又报错
mysqlnd cannot connect to MySQL 4.1+ using the old insecure
authentication. Please use an administration tool to reset your passwordwith 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
mysql> select user,length(password) from mysql.user;
+----------+------------------+
| user | length(password) |
+----------+------------------+
| root | 16 |
| test | 16 |
+----------+------------------+
2 rows in set (0.00 sec) 第一、更改数据库的配置文件/etc/my.conf
在[mysqld]下检查是否有
[mysqld]
old_passwords=1
将其更改为
old_passwords=0
如果没有新增之,然后重新启动数据库服务
第二、更改数据库的密码
update mysql.user set password=password('123456') where user='root';
update mysql.user set password=password('123456') where user='test';
flush privileges;
mysql> select user,length(password) from mysql.user;
+--------------+------------------+
| user | length(password) |
+--------------+------------------+
| root | 41 |
| test | 41 |
+--------------+------------------+
这个更改密码看你有使用几个用户了。 再次刷新网页,正常了了。