mysql查看导入进度_bash – 导入MySQL数据库时获取进度指示器

有一个很好的工具叫做pv

# On Ubuntu/Debian system

$sudo apt-get install pv

# On Redhat/CentOS

$sudo yum install pv

那么例如你可以像这样使用它

$zcat dbpackfile.sql.gz | pv -cN zcat | mysql -uuser -ppass dbname

Please check UPDATE 2 for my latest version

更新2:使用FULL进度条更好的解决方案.要做到这一点,你需要在pv选项中使用2 build.一个是–progress指示进度条,第二个是–size告诉pv整个文件有多大.

pv --progress --size UNPACKED-FILE-SIZE-IN-BYTES

..问题是.gz原始文件大小.您需要以某种方式获取解压缩的原始文件大小信息而无需自行解压缩,否则您将浪费宝贵的时间来解压缩此文件两次(第一次用于pv,第二次用于zcat).但幸运的是,您有gzip -l选项,其中包含有关我们的gziped文件的未压缩信息.不幸的是,你有表格格式,所以你需要在它可以使用之前提取.所有这些都可以在下面看到:

gzip -l /path/to/our/database.sql.gz | sed -n 2p | awk '{print $2}'

Uff ..所以你需要做的最后一件事就是把所有东西组合在一起.

zcat /path/to/our/database.sql.gz | pv --progress --size `gzip -l %s | sed -n 2p | awk '{print $2}'` | mysql -uuser -ppass dbname

为了使它更好,你可以像这样添加进程名称

zcat /path/to/our/database.sql.gz | pv --progress --size `gzip -l %s | sed -n 2p | awk '{print $2}'` --name ' Importing.. ' | mysql -uuser -ppass dbname

最后结果:

Importing.. : [===========================================>] 100%

更新3:快速使用创建自定义功能.

mysql_import() {

zcat $2 | pv --progress --size `gzip -l %s | sed -n 2p | awk '{print $2}'` --name ' Importing.. ' | mysql -uuser -ppass $1

}

用法:

mysql_import dbname /path/to/our/database.sql.gz

您可以在别名中添加功能.所以你可以使用例如?/ .bash_aliases文件.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值