我正在尝试找到一种方法来使用命令行启动和停止 MAMP PRO 的 Apache 和 mysql。到目前为止,无论我搜索什么,都只能帮助我启动 MAMP PRO。
谢谢。
至少从 MAMP 3.0.6 开始,以下内容适用于免费版和专业版:
打开 MAMP Pro 或 Free,取决于您使用的那个:
临:
open /Applications/MAMP\ PRO/MAMP\ PRO.app/
自由的:
open /Applications/MAMP/MAMP.app/
然后,cd 进入 MAMP/bin:
cd /Applications/MAMP/bin
启动 Apache 和 MySQL:
./start.sh
要停止 Apache 和 MySQL:
./stop.sh
请注意,您可能需要 sudo 上面的命令。
经过多次试验和错误:
请注意,我将端口设置为应用程序各自的默认值(Apache:80,MySQL:3306),因此这些命令反映了这一点,并且您必须sudo
与 Apache 一起使用(如果您使用端口,您也将在 MAMP 中使用它) 80)。
sudo /Applications/MAMP/Library/bin/httpd -f "/Library/Application Support/appsolute/MAMP PRO/conf/httpd.conf" -k start
sudo /Applications/MAMP/Library/bin/httpd -f "/Library/Application Support/appsolute/MAMP PRO/conf/httpd.conf" -k stop
sudo /Applications/MAMP/Library/bin/httpd -f "/Library/Application Support/appsolute/MAMP PRO/conf/httpd.conf" -k restart
启动 MySQL:
sh -c '/Applications/MAMP/Library/bin/mysqld_safe --defaults-file=/Applications/MAMP/tmp/mysql/my.cnf --port=3306 --socket=/Applications/MAMP/tmp/mysql/ mysql.sock --user=alex --pid-file=/Applications/MAMP/tmp/mysql/mysql.pid --log-error=/Applications/MAMP/logs/mysql_error_log.err --tmpdir=/Applications/MAMP /tmp/mysql/tmpdir --datadir=/Library/Application\ Support/appsolute/MAMP\ PRO/db/mysql &'
(由于某种原因,您必须再次按回车键才能重新获得提示)
停止 MySQL:
sh -c '/Applications/MAMP/Library/bin/mysqladmin -u root -proot --socket=/Applications/MAMP/tmp/mysql/mysql.sock shutdown'
作为奖励,MAMP PRO.app GUI 中的指示器实时显示这些应用程序的正确状态,因此您可以继续依赖它。
我有 MAMP PRO v2.0.3。
保存脚本并赋予可执行权限,例如:chmod +x start.sh
然后像./start.sh Start
or ./start.sh Stop
or一样使用它./start.sh Restart
(should work for MAMP Pro as well).
Look inside of the folder:
/Applications/MAMP/Library/bin
You'll see the scripts used for starting and stoping Apache & MySQL.
Look inside any of the scripts:
start.sh or stop.sh or startApache.sh etc
You will see that they use the program:
apachectl
You can use the restart command with apachectl. So, just set-up an alias in your ~/.bash_rc file:
alias rap='sudo /Applications/MAMP/Library/bin/apachectl restart'
rap is the acronym I gave for 'Restart Apache'. Presto! One step from the command line without having to open the MAMP application. Use the same logic if you want to set this up for MySQL.
要在 MAMP pro 版本 4 上启动它
/Applications/MAMP\ PRO/MAMP\ PRO.app/Contents/MacOS/MAMP\ PRO cmd startServers
为了阻止它
/Applications/MAMP\ PRO/MAMP\ PRO.app/Contents/MacOS/MAMP\ PRO cmd stopServers
可悲的是
根据此处给出的建议
“ https://deliciousbrains.com/automating-local-wordpress-site-setup-scripts-part-3-automating-rest ”
发现然后发现 - 它隐藏在此处的文档中。
https://documentation.mamp.info/en/MAMP-PRO-Mac/How-Tos/General/CreateHostDatabaseCommandLine
与 MAMP Pro 5 几乎相同:
/Applications/MAMP\ PRO.app/Contents/MacOS/MAMP\ PRO cmd stopServers
开始:
/Applications/MAMP\ PRO.app/Contents/MacOS/MAMP\ PRO cmd startServers
如果您使用的是 MAMP PRO,有一种更简单的方法可以停止 MySQL。
MAMP PRO 在您的 Library 文件夹中创建一个 shell 脚本。如果您更改了 root 用户的密码(您应该这样做),更新后的密码也将反映在脚本中。该文件可以在以下位置找到:
~/Library/Application Support/appsolute/MAMP PRO/stopMysql.sh
为了在命令行上键入它,您需要通过在它们前面添加反斜杠来转义空格,如下面的命令。
~/Library/Application\ Support/appsolute/MAMP\ PRO/stopMysql.sh
我在系统上发现的另一件事是该文件没有设置执行位。我作弊并使用路径查找器将文件设置为可执行文件,但您可以通过 chmod 命令行轻松找到有关如何执行此操作的信息。
不幸的是,我找不到 MAMP PRO 创建的正确启动脚本。我想为 MySQLWorkbench 中的启动命令找到一些简单的东西,但现在我只是把它留空,因为默认的 MAMP 脚本不起作用。我可能会根据 Astockwell 为回答这个问题而发布的有用命令创建一个脚本。
我发现/Applications/MAMP PRO/MAMP PRO.app/Contents/Resources/MAMP.startup
,它在 MAMP PRO 中对我有用,带有自定义端口。
赶紧跑
/Applications/MAMP PRO/MAMP PRO.app/Contents/Resources/MAMP.startup start
或者
/Applications/MAMP PRO/MAMP PRO.app/Contents/Resources/MAMP.startup stop
等等
对于 MAMP Pro 5 使用
sudo /Applications/MAMP/Library/bin/apachectl -f"/Library/Application Support/appsolute/MAMP PRO/conf/httpd.conf" -k restart
记住,你必须使用 sudo
简单的方法是关闭并重新启动应用程序,MAMP PRO 将启动和停止 Apache 和 MySQL。
启动 MAMP PRO
open -a MAMP\ PRO
停止 MAMP PRO
osascript -e 'quit app "MAMP PRO"'
对于 MAMP5.5,在您的 MAMP 文件夹中搜索此脚本文件bin
:startMysql.sh
它会有几行:
#!/bin/sh
/Applications/MAMP/Library/bin/mysqld_safe --port=8889 --socket=/Applications/MAMP/tmp/mysql/mysql.sock --pid-file=/Applications/MAMP/tmp/mysql/mysql.pid - -log-error=/Applications/MAMP/logs/mysql_error_log &
将整个命令粘贴到您的 OSX shell 上,然后按回车键,您的 Mysql 服务器将启动。
打开一个新的 shell 并从命令行开始使用 Mysql。