2017-05-01 64 views
1

我正在使用以下代碼進行mysql轉儲。 它創建文件database-date.sql.gzMysql dump無法解壓縮mysql文件

date=`date +\%Y\%m\%d\%H\%M\%S` 
user=myuser 
password=password 
backup_dir=/var/backups/mysql/ 
file=database-$date.sql.gz 


mysqldump -u$user -p$password database --max_allowed_packet=512M | gzip - > $backup_dir$file` 

這裏的問題是它顯示的文件格式是未知格式或損壞。 這件事是由於文件沒有正確創建。 什麼改變了我做適當的備份大型數據庫文件。

+0

聽起來像一個磁盤空間的問題。你存儲轉儲的分區有多大,你有多少磁盤空間? – MiiinimalLogic

+0

@MiiinimalLogic 'DF -h -x tmpfs的-x devtmpfs 文件系統大小用可用已用% 的/ dev/vda1 30G 13G 17G安裝43%/' – xrcwrn

+0

什麼自卸結束時?該命令是否顯示您已接近100%使用? – MiiinimalLogic

回答

0

我不能重現該問題:

文件:mysql_dump_test.sh

date=`date +\%Y\%m\%d\%H\%M\%S` 
user=$mysql_user 
password=$mysql_password 
backup_dir=/path/to/file/ 
file=$database-$date.sql.gz 
database=mysql 

$ mysqldump -u $user -p$password $database --max_allowed_packet=512M \ 
      | gzip - > $backup_dir$file 

測試結果:

$ zcat /path/to/file/mysql-20000101000001.sql.gz | head -20 
-- MySQL dump 10.13 Distrib 5.7.18, for Linux (x86_64) 
-- 
-- Host: localhost Database: mysql 
-- ------------------------------------------------------ 
-- Server version 5.7.18 

/*!40101 SET @[email protected]@CHARACTER_SET_CLIENT */; 
/*!40101 SET @[email protected]@CHARACTER_SET_RESULTS */; 
/*!40101 SET @[email protected]@COLLATION_CONNECTION */; 
/*!40101 SET NAMES utf8 */; 
/*!40103 SET @[email protected]@TIME_ZONE */; 
/*!40103 SET TIME_ZONE='+00:00' */; 
/*!40014 SET @[email protected]@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; 
/*!40014 SET @[email protected]@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; 
/*!40101 SET @OLD_SQL[email protected]@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; 
/*!40111 SET @[email protected]@SQL_NOTES, SQL_NOTES=0 */; 

-- 
-- Table structure for table `columns_priv` 
--