代码之家  ›  专栏  ›  技术社区  ›  Alec

使用雪豹的Apache时获取mysqlnd错误

  •  1
  • Alec  · 技术社区  · 17 年前

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

    mysqlnd cannot connect to MySQL 4.1+ using old authentication

    编辑:解决方案
    原来PHP没有加载任何PHP.ini文件。A. sudo cp /etc/php.ini.default /etc/php.ini 成功了。首先,它只加载了PHPMysqlnd,现在也加载了PHPMysql,一切正常。

    3 回复  |  直到 17 年前
        1
  •  1
  •   paul paul    17 年前

    运气好吗?我也有同样的问题。我尝试使用4.1之前和4.1之后的身份验证重置密码,但没有成功。

    编辑::

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

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

        2
  •  0
  •   ppuschmann    17 年前

    尝试在MySQL服务器上重新设置用户pw。 这样,密码应以新格式存储。

    但是,雪豹附带的mysql库可能在编译时不支持旧密码。

    我不明白为什么它会起作用 当我刚开始的时候,妈妈很好 MAMP是Apache,但我得到了这个错误 是因为MAMP有一些MySQL吗 本地文件?我还需要吗 当我尝试在本地安装MySQL时 连接到远程服务器?有线索吗 至于我该怎么解决这个问题 服务器最好不要这样做 想安装任何我不需要的东西。

    如果要连接到远程服务器,不必运行本地MySQL服务器。您只需安装PHP的mysql库。

        3
  •  0
  •   Elliot Yap    15 年前

    您可以在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;
    

    注意:您的用户名和密码

    在那之后,它应该能够工作。我也解决了我的问题

    推荐文章