【问题标题】:Cannot connect to mysql 5.0.8 using mysql_connect with password无法使用带有密码的 mysql_connect 连接到 mysql 5.0.8
【发布时间】:2012-04-26 06:36:57
【问题描述】:

我可以在没有密码的情况下使用 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");

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

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

【问题讨论】:

  • 您的密码不正确。确保您输入正确,没有留下尾随空格。密码区分大小写。
  • 我已经尝试过几次了。
  • 您确定您有admin 用户帐户吗?
  • 你确定它的管理员而不是root?
  • 我想是的。如果我从帐户中删除密码,我可以正常访问所有内容。

标签: php mysql sql phpmyadmin mysqli


【解决方案1】:

这可能会有所帮助

步骤-

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

    更新 mysql.user 设置密码=密码(“xxxxxx”) 哪里用户=“根”; (其中 xxxxxx 是您在上一步中输入的密码)。

  12. 现在输入: 刷新特权;

  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

【讨论】:

    【解决方案2】:

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

    FLUSH PRIVILEGES
    

    命令以使新规则适用。

    【讨论】:

      【解决方案3】:

      根据您显示的 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';
      

      并尝试您的原始代码

      【讨论】:

      • 感谢您的建议,但不幸的是我遇到了同样的错误。
      【解决方案4】:

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

      【讨论】:

      • 您确定不是帐户名吗?
      • 是的,它确实存在。如果我删除密码,我可以连接到它。
      • @user1330217:如果去掉密码就可以连接上,说明这个账号没有密码,应该这样登录。不要尝试输入不存在的密码。
      • 只有当我也从 phpmyadmin 中删除密码时。
      猜你喜欢
      • 2021-01-21
      • 2014-04-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-03
      • 1970-01-01
      • 2013-04-23
      • 2021-12-26
      相关资源
      最近更新 更多