我正在尝试建立一个php网站,我现在在运行Mavericks的真正Mac上的Windows上的虚拟盒子上。我用brew安装了mysql并创建了一个具有
的通用phpinfo.php页面<?php
phpinfo();
?>
现在正在运作。我检查确保MySql正在运行。当我尝试登录我的网站时,收到错误:
SQLSTATE[HY000] [1045] Access denied for user 'webapp'@'localhost' (using password: YES)
我很擅长建立网站业务但试图了解其运作方式。以前我只是从已经在vbox中运行的人那里复制了一张图片。所以我检查了用户是谁在mysql中,我看到4个root用户使用这个命令
select User from mysql.user;
当我确实显示'root'@'localhost'的授权时,我看到了
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION |
| GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION
那么这个webapp用户来自我的网站?我是否需要创建webapp的新用户?或者我可以将其更改为网站的root吗?或者使用root是个坏主意吗?
答案 0 :(得分:1)
Crystal,我刚刚在Mavericks上安装了mySQL,最后经历了类似的权限问题循环。底线不断回归设置或知道root用户的密码,并且还能够调整文件中的privs。我找到了这些用于为操作系统启用Root用户的说明。 http://support.apple.com/kb/PH14281
按照该链接中的说明启用root用户。
然后,你必须停止mySQL,并运行mysqld_safe --skip-grant-tables。执行此操作时,您将收到多个文件权限错误。现在您已经创建了root用户,您可以以root身份登录并CHMOD这些文件。要在终端中以root身份登录,只需键入&#34; login&#34;,它将要求登录(root)及其密码(启用它时给出的密码)。
接下来,再次运行mysqld_safe --skip-grant-tables。如果什么都没发生喔喔!打开一个新的终端窗口类型mysql -u root(不要把-p放在那里)
当您登录时,请运行:UPDATE mysql.user SET Password = PASSWORD(&#39; NewPass123&#39;)WHERE User =&#39; root&#39;;
你应该得到这样的东西: 查询OK,4行受影响(0.01秒) 匹配的行数:4已更改:4警告:0
接下来,运行以下命令:flush privileges;
响应应该是:查询OK,0行受影响(0.00秒)
您可以返回到另一个终端窗口并结束它。现在,您知道了root用户的密码,可以设置其他用户,进行授权等等。
完成此操作后,建议您返回“用户/组”设置并再次禁用root。我不会以root身份登录到Mac - 而只是在需要时使用该用户登录终端窗口。然后,当你完成后,禁用它。
我希望这会有所帮助。我整天都在转圈,直到找到如何启用操作系统的root用户ID。
- 编辑:我刚刚意识到我将这个帖子发布在与我意味着不同的线程上(打开了很多线程)...但是,既然你可以更改root密码,那么,使用root来授予webapp @ localhost所需的权限。 &#34;在上授予所有权限。 TO&#39; webapp&#39; @&#39; localhost&#39; WITH GRANT OPTION; &#34; (以root身份运行,然后刷新权限或重新启动服务)
答案 1 :(得分:0)
这仅表示您的用户名或密码不正确。
尝试重置密码,然后使用该密码。