Я написал скрипт, который делает резервную копию моей базы данных MySQL и создает файл GZIP с дампом mysql моей базы данных. Мне интересно, возможно ли распаковать файл GZIP и восстановить базу данных одной командой?
Что-то вроде этого:
mysql -u user -h host -ppass database < gzip -c database.backup
Но это, похоже, не работает. Есть предложения?
Я использую следующую команду:
mysqldump -u user -h host -ppass database | gzip -9 > database.backup
Я получаю следующую ошибку: -bash: gzip: No such file or directory;
которая, по моему мнению, указывает на то, что gzip не распознается как команда или что-то в этом роде.
решение1
Вы используете две команды, поэтому вам следует использовать конвейер, а не перенаправление. Я использую это:
gunzip < file.gz | mysql <parameters>
решение2
Обычно это должно работать. Установлен ли gzip и доступен ли он в переменной PATH? (Вы можете проверить это с помощью команды "which gzip"
mysqldump -u user -h host -ppass database | gzip -9 > database.backup
но я бы использовал в качестве резервного файла расширение .gz
Вы также можете попробовать
mysqldump -u user -h host -ppass *--database* "db_name" | gzip -9 > "db_backup".backup.gz
Недавно я написал скрипт для создания сжатой резервной копии моих баз данных.