
先日、「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
コマンドで行なえます。
以上です。