nab*_*ley 3 mysql mysqldump backup
使用 mysqldump 执行 .sql 备份时,数据库的大小是否有限制,或者在此之前您是否会遇到服务器问题 - 服务器是否无法接受如此大的备份文件?
我在考虑以下层次:
我只能想到三 (3) 件事会导致 mysqldump 过大
默认情况下,扩展插入 ( --extended-insert ) 通过--opt 选项启用。如果您发出--skip-opt
或--skip-extended-insert
,每个 INSERT 命令将很快变成成百上千。这样的 mysqldump 仍然可以加载,但由于没有批量插入需要更长的时间。
转储带有 BLOB 数据的表时,转储不可移植的可能性很小。为了使此类数据可移植,有些人求助于--hex-blob选项。这将 BLOB 写入为文本表示的十六进制。使用它时,您应该期待更加臃肿的 mysqldump。
大多数人认为MySQL 数据包是理所当然的。如果您不注意,某些 mysqldump 可能会超时。mysqldump 的默认max-allowed-packet
值为 in 24M。扩展插入可以受益于更大的数据包。它可能会增加每个扩展 INSERT 命令的行数。规模上的节省充其量只是名义上的。尽管如此,转储越大,大小的减少可能越好。
如果您主要关心的只是庞大的尺寸与硬件限制,您可以像这样转储:
mysqldump -uroot -ppasswword ... | gzip > mybackup.sql.gz
Run Code Online (Sandbox Code Playgroud)
并像这样恢复
gzip -d < mybackup.sql.gz | mysql -uroot -ppasswword
Run Code Online (Sandbox Code Playgroud)
您可以使用bzip2而不是 gzip(bzip 与 gzip 的优缺点?)
归档时间: |
|
查看次数: |
1402 次 |
最近记录: |