[英]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';
并尝试您的原始代码
这可能有所帮助
脚步-
它会问你一个pw - 只是点击返回因为你还没有它(下次你去控制台时你需要输入你进入这里的新pw)。 输入以下内容:
UPDATE mysql.user SET Password = PASSWORD(“xxxxxx”)WHERE User =“root”; (其中xxxxxx是您在上一步中输入的密码)。
现在输入:FLUSH PRIVILEGES;
转到您的WAMP或MAMP文件夹,找到APPS文件夹,然后单击您的PHPMYADMIN文件夹(例如我的文件夹名为phpmyadmin2.11.6)并找到config.inc.php
用wordpad打开config.inc.php并找到以下文本:
$cfg['Servers'][$i]['password'] = '';
现在添加您在步骤3中使用的密码,如下所示:
$cfg['Servers'][$i]['password'] = 'yourPasswordHere';
你现在应该全部准备好了!
来源 - http://www.knowledgesutra.com/discuss/tsilti-php-myadmin-access-mysql-database.html
您的用户名或密码不正确。 确保正确键入它们,而不留下尾随空格。 用户名和密码区分大小写。
如果您通过phpMyAdmin篡改MySQL用户数据,您必须执行
FLUSH PRIVILEGES
命令以使新规则适用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.