我的学习生活记录

这里是SUYE的站点

mysql sql文件导入进度实时查看

2023-1-9 夙夜 实际技能

pv 全名为 Pipe Viewer,利用它我们可以查看到命令执行的进度,更多功能详见其参数 pv --help。

所有配置项
   -p, --progress 显示进度条
   -t, --timer 显示经过的时间
   -e, --eta 显示预计到达时间(完成)
   -I, --fineta 显示绝对预计到达时间(完成)
   -r, --rate 显示数据传输速率计数器
   -a, --average-rate 显示数据传输平均速率计数器
   -b, --bytes 显示传输的字节数
   -T, --buffer-percent 显示正在使用的传输缓冲区的百分比
   -A, --last-written NUM 显示最后写入的 NUM 个字节
   -F, --format FORMAT 将输出格式设置为 FORMAT
   -n, --numeric 输出百分比,不是视觉信息
   -q, --quiet 根本不输出任何传输信息

   -W, --wait 在传输第一个字节之前不显示任何内容
   -D, --delay-start SEC 在 SEC 秒过去之前不显示任何内容
   -s, --size SIZE 将估计的数据大小设置为 SIZE 字节
   -l, --line-mode 计算行数而不是字节数
   -0, --null 行以 null 结尾
   -i, --interval SEC 每 SEC 秒更新一次
   -w, --width WIDTH 假定终端宽度为 WIDTH 个字符
   -H, --height HEIGHT 假设终端是 HEIGHT 行高
   -N, --name NAME 以 NAME 为视觉信息前缀
   -f, --force 输出,即使标准错误不是终端
   -c, --cursor 使用游标定位转义序列

   -L, --rate-limit RATE 将传输限制为每秒 RATE 字节
   -B, --buffer-size BYTES 使用 BYTES 大小的缓冲区
   -C, --no-splice 从不使用 splice(),总是使用读/写
   -E, --skip-errors 跳过输入中的读取错误
   -S, --stop-at-size 在传输 --size 字节后停止
   -R, --remote PID 进程PID更新设置

   -P, --pidfile FILE 在文件中保存进程ID

   -d, --watchfd PID[:FD] 监视进程 PID 打开的文件 FD

   -h, --help 显示此帮助并退出
   -V, --version 显示版本信息并退出

使用示例:
1 没压缩文件
 pv -t -p dbpackfile.sql | mysql -uroot -ppass -D dbname

2 压缩文件
//第一种:可以看到文件的大小及还原速度
zcat dbpackfile.sql.gz | pv -cN zcat | mysql -uuser -ppass dbname

//第二种:可以查看文件还原进度
zcat dbpackfile.sql.gz |pv --progre    ss --size `gzip -l dbpackfile.sql.gz| sed -n 2p | awk '{print $2}'` --name ' Importing.. '|mysql -uuser-ppass dbname
// 一个是-progress指进度条,第二个是-size指pv整个文件有多大.

标签: mysql