• Home
  • Craft CMS
  • Craft Nitro(macOS)で ./craft backup コマンドが動くようにする

Craft Nitro(macOS)で ./craft backup コマンドが動くようにする

先日、「Craft Nitro を使った Craft CMS 用ローカル環境の作り方」で作った Craft CMS のローカル開発環境で、 ./craft backup コマンドを実行しようとしたところ mysqldump: command not found 下記のエラーが出てしまいました。

% cd PATH-TO-CRAFT-NITRO-PROJECT # Craft Nitro のプロジェクトに移動
% nitro start # Craft Nitro を起動
% ./craft backup

これは仮想マシーンの中の Ubuntu のせいではなくて macOS で mysqldump コマンドが使えないから起きています。

そこで macOS で mysqldump コマンドを使えるようにします。

mysql-client をインストール

Homebrew で mysql-client をインストールします。

% brew install mysql-client

インストールが終わったらパスを通し、設定を有効化します。Mac のメインのシェルが zsh になっていない場合は、下記のコマンドの .zprofile.bash_profile にしてください。

% echo 'export PATH="/usr/local/opt/mysql-client/bin:$PATH"' >> ~/.zprofile
% source ~/.zprofile

これで Mac で mysqldump コマンドが使えるようになり、先程エラーだった ./craft backup コマンドも使えるようになります。

【参考】mysql - Is it possible to install only mysqldump on macOS - Stack Overflow

Craft Nitro でデータベースをバックアップ

ちなみに、上記の作業をしなくても Craft Nitro の nitro db backup コマンドでデータベースをバックアップすることもできます。

% cd PATH-TO-CRAFT-NITRO-PROJECT # Craft Nitro のプロジェクトに移動
% nitro db backup
  1 - all-dbs
  2 - craft_nitro
  3 - nitro
Select database to backup [1] # 全部のDBか特定のDBか
Created backup "all-dbs-200722_094748.sql", downloading...
Backup completed and stored in "/Users/tinybeans/.nitro/backups/nitro-dev/mysql_5.7_3306/all-dbs-200722_094748.sql".

データベースのインポートは nitro db import コマンドで行なえます。

以上です。