php连接mysql mysqlnd cannot connect to MySQL 4.1+ us

密码字节数的问题,设置 old_passwords=0 即可解决;

在 mysql的my.ini文件中将old_passwords=1 修改为 0;

或者 set old_passwords =0;

一、修改以前的:

mysql> SELECT user, Length(`Password`) FROM `mysql`.`user`; 
+------+--------------------+
| user | Length(`Password`) |
+------+--------------------+
| root |                 16 |
| root |                  0 |
|      |                  0 |
| test |                 16 |
| test |                 16 |
+------+--------------------+
5 rows in set

二、修改 old_passwords;

mysql> set old_passwords=0;
Query OK, 0 rows affected

三、修改用户:

mysql> UPDATE mysql.user SET Password = PASSWORD( 'snow @wolf ') WHERE user = 'root
';
Query OK, 2 rows affected
Rows matched: 2  Changed: 2  Warnings: 0
Query OK, 0 rows affected

四、查看:

SELECT user, Length(`Password`) FROM `mysql`.`user`; 
+------+--------------------+
| user | Length(`Password`) |
+------+--------------------+
| root |                 41 |
| root |                 41 |
|      |                  0 |
| test |                 16 |
| test |                 16 |
+------+--------------------+
5 rows in set

 

可以看到已经更新成功了,将其他用户都更新了即可。

转载于:https://my.oschina.net/u/2001537/blog/348396

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值