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

MAMP Pro:sh:mysqldump:未找到命令,mysql,mamp,mamp-pro,Mysql,Mamp,Mamp Pro,我正在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:未找到命令

我正在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的二进制文件不在您的系统路径中,因此您需要像这样显式调用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'
现在,在命令行上也有多个php二进制文件和相应的ini文件。只需确保使用正确的php版本更新路径即可,因为MAMP Pro每次更新都会将php包更新为最新版本