繁体   English   中英

使用带密码的mysql_connect无法连接到mysql 5.0.8

[英]Cannot connect to mysql 5.0.8 using mysql_connect with password

我可以使用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");

有没有人知道这里会发生什么?

编辑:如果我关闭密码,我可以访问它。 似乎有一些误解

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

并尝试您的原始代码

这可能有所帮助

脚步-

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

    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. 用wordpad打开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

您的用户名或密码不正确。 确保正确键入它们,而不留下尾随空格。 用户名和密码区分大小写。

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

FLUSH PRIVILEGES

命令以使新规则适用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM