1

安装 Snow Leopard 后,连接到远程 MySQL 服务器时出现以下错误:

mysqlnd cannot connect to MySQL 4.1+ using old authentication

我不明白为什么当我只启动 MAMP 的 Apache 时它与 MAMP 一起工作得很好,但是我在 Snow Leopard 在 Apache 中的构建时遇到了这个错误。是因为 MAMP 在本地有一些 MySQL 文件吗?当我尝试连接到远程服务器时,是否还需要在本地安装 MySQL?关于如何在不弄乱服务器的情况下解决这个问题的任何线索?最好只安装 Apache——不想安装任何我不需要的东西。

编辑:解决方案
原来 PHP 没有加载任何 php.ini 文件。Asudo cp /etc/php.ini.default /etc/php.ini成功了。首先它只加载 php-mysqlnd,现在也加载 php-mysql,一切都很好。

嗯,我错了,这并不能解决任何问题。

4

3 回答 3

1

这有什么好运气吗?我有同样的问题。我尝试使用 4.1 前和 4.1 后的身份验证重置密码,但无济于事。

编辑::

我的 mysql 服务器在配置文件中设置了使用旧密码选项,因此 PASSWORD() 和 OLD_PASSWORD() 的结果返回相同的 16 位哈希。

我在另一个使用新密码获取哈希的 mysql 服务器上运行 SELECT PASSWORD('mysecret'),然后运行 ​​SET PASSWORD FOR 'myuser'@'%' = '*THEHASHFROMTHESELECTSTATEMENT';。

hth

于 2009-09-16T19:11:22.733 回答
0

尝试在 MySQL-Server 上重新设置您的用户密码。这样,密码应该以新格式存储。

但是,您的 Snow Leopard 附带的 mysql-library 可能在不支持旧密码的情况下编译。

即使在实时服务器上,创建一个新的 db-user 也应该没问题,因此如果您不想更改现有的用户帐户,可以使用新的用户帐户进行检查。

我不明白为什么当我只启动 MAMP 的 Apache 时它与 MAMP 一起工作得很好,但是我在 Snow Leopard 在 Apache 中的构建时遇到了这个错误。是因为 MAMP 在本地有一些 MySQL 文件吗?当我尝试连接到远程服务器时,是否还需要在本地安装 MySQL?关于如何在不弄乱服务器的情况下解决这个问题的任何线索?最好只安装 Apache——不想安装任何我不需要的东西。

MAMP 以他自己的版本存储了所有文件。如果要连接到远程服务器,则不必运行本地 MySQL-Server。你只需要为 PHP 安装 mysql-libraries。

于 2009-09-01T08:41:38.057 回答
0

你可以在你的mysql查询浏览器或其他东西上做这些

SET old_passwords = 0;
UPDATE mysql.user SET Password = PASSWORD('testpass') WHERE User = 'testuser' limit 1;
SELECT LENGTH(Password) FROM mysql.user WHERE User = 'testuser';
FLUSH PRIVILEGES;

注意:您的用户名和密码

之后它应该能够工作。我也刚解决了

于 2011-05-27T07:26:18.783 回答