【问题标题】:MAMP Pro: sh: mysqldump: command not foundMAMP Pro:sh:mysqldump:找不到命令
【发布时间】:2020-05-17 23:59:52
【问题描述】:

我在 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 似乎有问题。

知道它是什么吗?

【问题讨论】:

    标签: mysql mamp mamp-pro


    【解决方案1】:

    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 包更新到其最新版本。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-07-13
      • 1970-01-01
      • 2021-02-10
      • 1970-01-01
      相关资源
      最近更新 更多