このシェルパイプを使用して、端末を介してSQLダンプを取得します。
$ cd var/lib/mysql && mysqldump -uroot -p"craft" --add-drop-table craft > ~/../docker-entrypoint-initdb.d/base.sql && cd ~/..
ご覧のとおり、ディレクトリvar/lib/mysql
に移動してファイルにダンプを作成し、元の場所から戻りました。
コマンドは正確ですが、ディレクトリに直接移動しないように、より簡潔に書くことができるようですvar/lib/mysql
。
誰でもアドバイスできますか?
ベストアンサー1
正直言って、両方とも電話する理由はまったくありませんcd
。
cd
入力したディレクトリに対して何もしないようです。データベースダンプの場所への絶対パスを提供します。カスタムMySQL設定ファイルが必要な場合は、とにかくユーザーのホームディレクトリから入手できます。
したがって、おそらく次のようになります。
mysqldump -uroot -p"craft" --add-drop-table craft \
> ~/../docker-entrypoint-initdb.d/base.sql
どのディレクトリで実行しても構いません。