在我的机器上localhost与127.0.0.1的mysql不同

时间:2014-01-31 00:54:27

标签: php mysql apache

我很困惑。当我使用127.0.0.1连接到mysql时。我得到一个只有测试数据库的mysql服务器。如果我使用localhost连接到数据库,我会看到我的数据库。为什么会这样。

注意,有一次我确实用mysql安装了macport。但我卸载它,我以为我删除了一切。我该怎么做才能彻底消除这个问题?现在我使用apache本机安装并手动安装新的mysql

当我在Mac上查看我的进程时,我会看到以下内容

root               82   0.0  0.0  2468784    424   ??  Ss   22Jan14   0:00.30 /opt/local/bin/daemondo --label=apache2 --start-cmd /opt/local/etc/LaunchDaemons/org.macports.apache2/a
root               81   0.0  0.0  2468784    392   ??  Ss   22Jan14   0:00.30 /opt/local/bin/daemondo --label=mysql5 --start-cmd /opt/local/etc/LaunchDaemons/org.macports.mysql5/mys

这些是自动启动的macports mysql和apache吗?以及如何从自动启动中删除它们?

[编辑]

当我use mysql; SELECT user from user;时,我得到以下内容

+------+
| user |
+------+
| root |
| root |
|      |
| root |
|      |
| root |
+------+

同时牢记这一点。我使用mysqlworkbench。是的我没有密码设置,但当我将主机从localhost更改为127.0.0.1时,我无法看到数据库;但我杀了上面的那些进程,现在我得到了我的表格,我从来没有改变任何权限

3 个答案:

答案 0 :(得分:1)

这可能是因为您将权限明确设置为“root”@“localhost”。

您可能需要添加'root'@'127.0.0.1'

这篇文章应该有助于如何使用GRANT语法。

How to grant remote access permissions to mysql server for user?

=======来自评论========

听起来你可能有两个数据库实例正在运行。

您是否尝试过查看MacPort StartupItems:Startup Reference

尝试打开终端并输入:launchctl

查看它是否在列表中并卸载它。

例如( 我无法在您的OP中看到整行,因此请在运行前检查/修改 ):
- >每行应以.plist文件结尾。

sudo launchctl unload -w /opt/local/etc/LaunchDaemons/org.macports.apache2/a....plist
sudo launchctl unload -w /opt/local/etc/LaunchDaemons/org.macports.mysql5/mys....plist

答案 1 :(得分:0)

这取决于如何在mysql中配置用户。您可能有两个用户,'user'@'127.0.0.1''user'@'localhost'具有对数据库的不同权限。

答案 2 :(得分:0)

以root用户身份登录mysql数据库 代码:

mysql -u root -p mysql

然后跑 代码:

SELECT password,host FROM user where user='root';

确保密码设置为127.0.0.1否则您无需密码即可登录: 代码:

SET PASSWORD FOR 'root'@'127.0.0.1' = PASSWORD('Add-Your_password-here');

来源: http://wary.cc/NpdvD