3

我可以在没有密码的情况下使用 php 连接到我的 mysql 数据库。但是,当我在 phpmyadmin 中添加密码时,我无法再连接。我一直得到以下错误:

"Could not connect: Access denied for user 'admin'@'localhost' (using password: YES)"

我尝试使用 MySQL 密码 4.0 和 4.1+ 的两种设置,结果相同。

mysql_connect ("127.0.0.1", "admin", "password") or  die('Could not connect: ' . mysql_error());;
mysql_select_db ("datatable");

有谁知道这里可能发生了什么?

编辑:如果我关闭密码,我可以访问它。好像有什么误会

4

4 回答 4

1

这可能会有所帮助

脚步-

  1. 去phpmyadmin;
  2. 单击要更改密码的数据库(左侧);
  3. 点击“特权”;
  4. 单击 localhost 的 root 用户右侧的“编辑权限”图标。
  5. 转到“更改密码”块;
  6. 勾选“密码”单选按钮;
  7. 输入密码并重新输入该密码;
  8. 滴答:……保留旧的。
  9. 点击“前往”;
  10. 现在从 WAMPSERVER 菜单打开一个 MySql 控制台;
  11. 它会要求您输入密码——只需点击返回,因为您还没有密码(下次您进入控制台时,您需要输入您在此处输入的新密码)。键入以下内容:

    UPDATE mysql.user SET Password=PASSWORD("xxxxxx") WHERE User="root"; (其中 xxxxxx 是您在上一步中输入的密码)。

  12. 现在输入:FLUSH PRIVILEGES;

  13. 转到您的 WAMP 或 MAMP 文件夹,找到 APPS 文件夹,然后单击您的 PHPMYADMIN 文件夹(例如我的名为 phpmyadmin2.11.6 的文件夹)并找到 config.inc.php

  14. 使用写字板打开 config.inc.php 并找到以下文本:

$cfg['Servers'][$i]['password'] = '';

现在添加您在第 3 步中使用的密码,如下所示:

$cfg['Servers'][$i]['password'] = 'yourPasswordHere';

  1. 现在保存此修改,并关闭 config.inc.php

你现在应该准备好了!

来源 - http://www.knowledgesutra.com/discuss/tsilti-php-myadmin-access-mysql-database.html

于 2012-04-13T22:20:04.510 回答
1

根据您显示的 mysql_connect 语句,您正在尝试以admin@'127.0.0.1'. 这需要使用 TCP/IP 连接到 mysql。如果按此方式连接,admin@localhost则使用 mysql.sock(套接字文件)连接到 mysqld。

您应该运行此查询

SELECT user,host,password FROM mysql.user WHERE user='admin';

您应该看到admin@localhost已定义。你可能不会看到admin@'127.0.0.1'。您可以添加它,但只为admin@localhost.

尝试按如下方式更改您的代码:

mysql_connect ("localhost", "admin", "password") or  die('Could not connect: ' . mysql_error());;
mysql_select_db ("datatable");

如果你不用密码也能连接mysql,那么你的mysql安装就不安全了。

您需要为 admin@localhost 添加密码并删除匿名用户登录,如下所示:

UPDATE mysql.user SET password=password('whateverpassword')
where user='admin' and host='localhost';
DELETE FROM mysql.user WHERE user='';
FLUSH PRIVILEGES;

这是另一个建议:像这样创建 admin@127.0.0.1 用户:

GRANT ALL PRIVILEGES ON *.* TO admin@'127.0.0.1' IDENTIFIED BY 'whateverpassword';

并尝试您的原始代码

于 2012-04-13T21:38:46.317 回答
0

如果您通过 phpMyAdmin 篡改 MySQL 用户数据,您必须执行

FLUSH PRIVILEGES

命令以使新规则适用。

于 2012-04-13T22:09:56.630 回答
0

您的用户名或密码不正确。确保您输入正确,没有留下尾随空格。用户名和密码区分大小写。

于 2012-04-13T21:34:16.847 回答