mysql旧版本密码长度问题
2013-08-19 11:34
169 查看
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 fileCould not select database
php更新5.3版本后,在连接mysql数据库的时候会报如上错误
问题的核心在于:mysql可能仍使用旧的密码加密方式,加密后的密码为16位字符串,而为了安全,php5.3的mysql连接库并不支持
在解决问题之前我们来看一下mysql的旧的密码长度
mysql> SELECT LENGTH(PASSWORD(‘xyz’));
得到的结果应该是16
解决方法:
mysql> SET old_passwords = 0;
mysql> UPDATE mysql.user SET password = PASSWORD(‘密码’) WHERE user = ‘帐号’;
mysql> FLUSH PRIVILEGES;
说明:
1、不使用旧的密码加密方法
2、更改所有用户密码
3、FLUSH PRIVILEGES 后不需要重启mysql服务即可使用修改的密码
ps:
如果使用php5.2或者更低的脚本,你需要移除my.cnf文件中的old-passwords=1
最后
mysql> SELECT LENGTH(Password) FROM mysql.user WHERE User = ‘帐号’;
查看密码的长度,这个时候为41位,而旧的密码加密方式生成的密码长度是16位
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 fileCould not select database
php更新5.3版本后,在连接mysql数据库的时候会报如上错误
问题的核心在于:mysql可能仍使用旧的密码加密方式,加密后的密码为16位字符串,而为了安全,php5.3的mysql连接库并不支持
在解决问题之前我们来看一下mysql的旧的密码长度
mysql> SELECT LENGTH(PASSWORD(‘xyz’));
得到的结果应该是16
解决方法:
mysql> SET old_passwords = 0;
mysql> UPDATE mysql.user SET password = PASSWORD(‘密码’) WHERE user = ‘帐号’;
mysql> FLUSH PRIVILEGES;
说明:
1、不使用旧的密码加密方法
2、更改所有用户密码
3、FLUSH PRIVILEGES 后不需要重启mysql服务即可使用修改的密码
ps:
如果使用php5.2或者更低的脚本,你需要移除my.cnf文件中的old-passwords=1
最后
mysql> SELECT LENGTH(Password) FROM mysql.user WHERE User = ‘帐号’;
查看密码的长度,这个时候为41位,而旧的密码加密方式生成的密码长度是16位
相关文章推荐
- ubuntu 16.04系统下解决MySQL 5.7版本的root用户重置密码问题
- MySQL安装与配置 -- 压缩包版本及解决服务不启动、修改密码的问题
- Mysql数据库密码重置,忘记密码的重置方法(因Mysql版本问题可能不能使用该方法)
- MySQL5.7版本以后的初始密码问题
- 还原root密码(mysql 版本root密码破解问题)
- ubuntu 16.04系统下解决MySQL 5.7版本的root用户重置密码问题
- MySQL5.6 以上版本 首次登陆密码问题
- [PHP] ubuntu 16.04系统下解决MySQL 5.7版本的root用户重置密码问题
- MySQL5.6 以上版本 密码安装策略问题
- 绿色版mysql(5.7.16)默认密码修改的问题
- linux怎么初次进入mysql呢?解决登入问题和密码问题
- wampserver 最新版本 mysql修改数据库密码
- mysql 长度问题( M )
- mysql数据类型长度问题
- MySQL 5.7.9版本sql_mode=only_full_group_by问题
- MySQL Connector for .NET 和 EF版本匹配问题
- 初次安装Mysql5.7以上版本后初始root密码找不到的问题
- mysql4.1以上版本连接时出现Client does not support authentication protocol问题解决办法
- xmapp中mysql密码修改问题 ERROR 1045 (28000): Access denied for user 'yangwan'@'localhost' (using password :
- Mac下安装mysql5.7 完整步骤以及 Mac平台重新设置MySQL的root密码等问题汇总