MAMP Pro: sh: mysqldump: 找不到命令



我在macOS Mojave 10.14.6上使用MAMP PRO 5.5.1。

我想使用以下命令备份 MySQL 数据库:

$backup = system("mysqldump -hmy_host -umy_user -pmy_password --databases  my_databse > my_file.sql");

这不起作用,不会创建任何文件。php_error.log什么都没有,但apache_error.log说了以下内容:

sh:mysqldump:找不到命令

由于我的脚本/命令在另一个系统(共享主机,而不是 MAMP(上运行,因此我确信脚本本身正在工作。MAMP 似乎有问题。

知道它是什么吗?

MAMP 的二进制文件不在系统的路径中,因此您需要像这样显式调用 mysqldump:

/Applications/MAMP/Library/bin/mysqldump

你可以为 MAMP 的二进制文件创建别名,并将它们添加到你的.bashrc(或你正在使用的任何 shell(中,如下所示

alias mysql='/Applications/MAMP/Library/bin/mysql'
alias mysqldump='/Applications/MAMP/Library/bin/mysqldump'
alias mysqladmin='/Applications/MAMP/Library/bin/mysqladmin'

这样,您可以像习惯一样使用mysqldump速记。您可以对 MAMP 的多个 PHP 版本执行相同的操作:

alias php71='/Applications/MAMP/bin/php/php7.1.32/bin/php -q -c /Library/Application Support/appsolute/MAMP PRO/conf/php7.1.32.ini'
alias php73='/Applications/MAMP/bin/php/php7.3.9/bin/php -q -c /Library/Application Support/appsolute/MAMP PRO/conf/php7.3.9.ini'

现在,您在命令行上也有多个带有相应ini文件的php二进制文件。只需确保更新路径以用于您正在使用的正确 php 版本,因为 MAMP Pro 始终会在每次更新时将 php 包更新到最新版本。

最新更新