迁移论坛 出现了一个2天没解决的问题。

By cvmax at 2015-08-01 • 0人收藏 • 2530人看过

就是连接数据库时会提示

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


我已经按照网上的各种教程做了,然后 mysql 里面的 mysql.user 里面的密码长度也是41位了。还是报错。。。

10 个回复 | 最后更新于 2016-03-20
2015-08-01   #1

你是导出SQL文件然后再导入吗?

还是直接复制不同版本的MySQL的数据库文件?

2015-08-01   #2

回复#1 @lincanbin :

就是从之前的数据库导出,然后再导入到新的数据库。

以前是 windows,现在是 centos,php和 mysql版本都比较高。

我准备下载新程序放上去安装试一下

2015-08-01   #3

回复#2 @cvmax :

那照提示说的执行:

SET PASSWORD = PASSWORD('your_existing_password')

呢?

2015-08-01   #4

回复#3 @lincanbin :

按提示做了。他这个就是把 mysql.user 里面的密码重新加密,从16位提高到41位,我现在已经是41位了。但还是报错。

2015-08-01   #5

回复#4 @cvmax :

重启mysqld服务了吗?

为什么你的mysqld的密码会使用旧版本的加密方式?你不是全新编译安装的MySQL?

2015-08-01   #6

回复#5 @lincanbin :

全新安装的 lamp 环境。不过我每次重启 mysql,/etc/init.d/mysqld restart 会提示不存在。/etc/init.d/mysql restart就行

2015-08-01   #7

回复#4 @cvmax :

你用SSH连接服务器,然后执行:

mysql -u你的用户名 -p

按提示输入密码,然后登陆进去后,执行:

SET old_passwords=0;
SET password=PASSWORD('当前密码');

照这个流程再来一次?

2015-08-01   #8

回复#7 @lincanbin :

又来了一次,最后 flush privileges,然后 service mysql restart.

然后刷新页面 还是继续报错。。


2015-08-01   #9

解决了。完全不是提示的这个问题。

不知道为什么报这个错误。把我绕远了。

2016-03-20   #10

回复#9 @cvmax :

可以

登录后方可回帖

登 录
信息栏

Carbon Forum是一个基于话题的高性能轻型PHP论坛

下载地址:Carbon Forum v5.9.0
QQ群:12607708(QQ我不常上)

donate

手机支付宝扫描上方二维码可向本项目捐款

粤公网安备 44030602003677号
粤ICP备17135490号

Loading...