【问题标题】:XAMPP localhost issue with mysqlmysql 的 XAMPP 本地主机问题
【发布时间】:2013-07-06 04:07:47
【问题描述】:

我在使用 XAMPP 的本地主机中收到此警告

Warning: mysql_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 in C:\xampp\htdocs\folder\dbconnect.php on line 135

我该如何解决这个警告,它是什么意思?

【问题讨论】:

  • 按照错误信息中的说明操作即可。
  • dbconnect.php这里贴出mysql_connect的代码来判断问题可能是你写错了密码
  • 阅读这篇 SO 帖子:stackoverflow.com/questions/8831183/…

标签: php mysql xampp localhost


【解决方案1】:

登录到 XAMPP 的 PHPMyAdmin 并在 PHPMyAdmin 中运行以下查询

SET PASSWORD = PASSWORD('your_old_mysql_password')

your_old_mysql_password 应替换为您当前的 MySQL 密码。

这应该可以解决您的问题。

您也可以简单地重新安装 XAMPP(如果可能,安装到另一个目录),这应该可以保证修复,因为它是独立的。

【讨论】:

    【解决方案2】:

    转到您的 xampp 文件夹目录:xampp/htdocs/xampp/mysql.php

    您将在页面上找到此代码:

    <?php if (@mysql_connect("localhost", "pma", "")) { echo "OK"; } else { echo "NOK"; } ?>

    所以你所要做的就是用下面的代码交换整个代码:

    <?php if (@mysql_connect("localhost", "pma", "")) { echo "OK"; } else { $err = mysql_errno(); if ((1044 == $err) || (1045 == $err) || (1130 == $err)) { echo "OK"; } else { echo "NOK"; } } ?>

    你的错误很快就解决了!!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-26
      • 2011-07-19
      • 1970-01-01
      • 2012-11-26
      • 2017-12-20
      • 2019-07-24
      相关资源
      最近更新 更多