更新了mysql客户端到5.6,服务端仍是5.1.

所以现在使用PHP连接mysql数据库的时候会报错:

Connection using old (pre-4.1.1) authentication protocol refused (client option 'secure_auth' enabled)

在网上查到说是新老密码的问题.

另外一台也是5.6的客户端,连接SQL没问题.

查看server端的密码格式,发现正常的客户端使用的密码格式是32位加密.

报错的密码格式是16位.

所以试着添加一个32位加密的用户,然后从报错的客户端连接,这时连接正常.

所以这时就把所有16位加密的密码换成32位后,客户端连接正常了.

由于在服务端添加用户一直是16位密码,所以找了台高版本的mysql数据库,在这个服务端生成32位加密的密码:

select password('pass')

然后再把生成的密钥粘贴进原16位密码处.测试连接正常.