我试图让MAMP上的MySQL服务器运行,但无济于事。
它工作正常,但是当我开始使用Ruby on Rails时我停止使用MAMP。现在我想处理一些生活在我的MAMP安装中的旧PHP项目,我无法启动它们。最令人沮丧的。
我怀疑它与安装了RoR的MySQL gem有关,但我不确定如何检查或如何解决冲突。
我的问题,基本上是“我怎样才能启动mySql服务器?”
Os:10.7.4 MAMP V:1.8.4
我查了一下日志:
tail mysql_error_log.err -n 100
的输出:
==> mysql_error_log.err <==
120715 12:11:41 [ERROR] Can't start server: Bind on TCP/IP port: Address already in use
120715 12:11:41 [ERROR] Do you already have another mysqld server running on port: 3306 ?
120715 12:11:41 [ERROR] Aborting
120715 12:11:41 InnoDB: Starting shutdown...
120715 12:11:42 InnoDB: Shutdown completed; log sequence number 0 44233
120715 12:11:42 [Warning] Forcing shutdown of 2 plugins
120715 12:11:42 [Note] /Applications/MAMP/Library/libexec/mysqld: Shutdown complete
120715 12:11:42 mysqld_safe mysqld from pid file /Applications/MAMP/tmp/mysql/mysql.pid ended
更新
我已按照建议尝试编辑正在运行的实例的my.cnf。我点了这个我正在运行的locate my.cnf
来查找文件。
返回了两个结果,一个是在MAMP PRO(我没有使用)和另一个(基于Macports)。我选择修改lines 15 and 34 of the Macports file.。然后我重新启动了机器。
看来我得到了同样的错误:
==> mysql_error_log.err <==
120715 13:37:26 [ERROR] Can't start server: Bind on TCP/IP port: Address already in use
120715 13:37:26 [ERROR] Do you already have another mysqld server running on port: 3306 ?
120715 13:37:26 [ERROR] Aborting
120715 13:37:26 InnoDB: Starting shutdown...
120715 13:37:27 InnoDB: Shutdown completed; log sequence number 0 44233
120715 13:37:27 [Warning] Forcing shutdown of 2 plugins
120715 13:37:27 [Note] /Applications/MAMP/Library/libexec/mysqld: Shutdown complete
120715 13:37:27 mysqld_safe mysqld from pid file /Applications/MAMP/tmp/mysql/mysql.pid ended
答案 0 :(得分:1)
120715 12:11:41 [错误]无法启动服务器:绑定TCP / IP端口:已在使用的地址
120715 12:11:41 [错误]你是否已在端口上运行另一个mysqld服务器:3306?
您已经拥有使用端口3306的MySQL或其他程序。您可以终止现有程序或使用其他端口。
可以在MySQL配置文件my.cnf
中更改端口。
答案 1 :(得分:0)
您有没有找到解决方案?这不是一个答案,而是一个让旧的PHP项目工作的临时黑客。正如Joni所说,终止MySQL将会成功。我是这样做的:MySQL的Macports / Homebrew版本应该在启动时启动,所以当MAMP启动时,只有Apache启动。在Activity Monitor中,搜索'mysql' - 应该出现1或2个'mysqld'实例。退出这些并立即点击MAMP中的“Start Servers”(FWIW,我在MAMP中使用默认的Apache和MySQL端口(80&amp; 3306))。它花了几次尝试,但最终我击败了试图重新启动的另一个守护进程。这是一个暂时的,丑陋的解决方案,但当我时间不够时,它让我进入了一个旧项目。我仍然在寻找一个永久的解决方案,一个不涉及完全废弃一切并重新开始的解决方案。
编辑:使用终端杀死mysqld的更好方法:killall mysqld
答案 2 :(得分:0)
我在Mac上,我在某个时候安装了MyMql,分别是MAMP。此版本的MySql阻止了MAMP的MySql服务器。
打开系统偏好设置,如果在底行看到MySQL图标,请将其打开。在这里它告诉我,我有一个MySQL服务器实例正在运行。停止服务器并取消选中&#34;在启动时自动启动MySQL服务器&#34;
希望这有助于某人!