バックグラウンド
これらのhddパーティションを持つmysqlサーバーで作業しています:
...
/dev/vdd 99G 58G 39G 61% /var/lib/mysql
tmpfs 2,4G 0 2,4G 0% /tmp
...
データベースに mysql ダンプをインポートする必要があります。したがって、次の構文を使用します。
gunzip -c sql_dump.sql.gz | mysql -uDB_USER -p DB_NAME
一般的にはこれでうまくいきますが、解凍すると私のsql_dump.sql.gz
ファイルは 5GB を超えます。
上記のコマンドは で失敗しgzip: /home/.../sql_dump.sql.gz: No space left on device
ます。mysql
これは、十分なスペースがある/tmp
パーティションではなく、2.4GB しか空きがないパーティションに関係していると思います。
今のところ、/var/lib/mysql
十分な空き容量があるパーティションにファイルを移動しました。そこに私のファイルをgunzipし、mysqlのインポートを開始し、その後圧縮ファイルと非圧縮ファイルを削除しました。
質問
gunzip
デフォルトの一時的なターゲットの場所を一時的に強制的に変更する方法があるかどうかを自問していました。これは/tmp/
デフォルトです。そのため、抽出されたgunzip -c sql_dump.sql.gz | ...
ファイルは下に保存されませんが、ファイルの抽出中は/tmp/
下に保存され/var/lib/mysql
ます。このようなもの:
export "GZIP_TMP_DIR=/var/lib/mysql/"
gunzip -c sql_dump.sql.gz | mysql -uDB_USER -p DB_NAME
これは可能ですか?私はたくさん検索しましたが、この特定のニーズを解決するものは何も見つかりませんでした.