繁体   English   中英

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

[英]MAMP Pro: sh: mysqldump: command not found

我在 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'

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM