php – 使用旧的不安全身份验证无法连接到MySQL 4.1
我知道有很多问题与我的同样关心,但我希望你能帮助我找出另一个解决方案.
我们正在为我们的项目使用Symfony 2.5.10,PHP 5.4.44和MySQL 4.1.20. 每当我尝试登录系统或任何涉及连接到数据库的行为(例如添加使用FOS命令的新用户)时,我收到此错误:
我们已经尝试将my.cnf中的old_password设置为0,重新启动mysql,为mysql用户设置一个新密码,并重新启动mysql,但仍然相同.每当我们在查询窗口中运行它: SELECT user,Length(Password) FROM mysql.user; 它仍然显示16作为我们正在使用的用户的密码的长度.而且当检查mysql服务器变量和设置时,旧密码为ON(即使我们已经在my.cnf中将old_password设置为0). 这可能是错的?我真的很感谢你的帮助. 更新:与此同时,我们删除数据库用户的密码以使我们能够访问数据库.但是我仍然在寻找其他解决方案,因为我在网上找到的解决方案(如删除或注释掉old_passwords = 1在my.cnf中,将old_passwords设置为0并设置新密码然后重新启动)对我来说没有效果. 另一个更新:通常,这个问题的解决方案是在mysql中设置old_passwords,但是如PHP documentation所述,
那么这是否意味着在my.cnf中将old_passwords设置为0是没有用的?我还没有弄清楚这个问题的解决方案. 我们需要在任何平台上进行升级?先谢谢您的帮助.
MySQL服务器5.7.6中已弃用“SET PASSWORD”.
服务器5.7.6以下的语法是, SET PASSWORD [FOR user] = password_option password_option: { PASSWORD('auth_string') | OLD_PASSWORD('auth_string') | 'hash_string' } 服务器5.7.6及更高版本所遵循的语法是 SET PASSWORD [FOR user] = password_option password_option: { PASSWORD('auth_string') | 'auth_string' } 也参考 – > http://dev.mysql.com/doc/refman/5.7/en/set-password.html (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |