參考 How to Monitor Your MySQL Database Restore Progress

方式一

# 當還原時

mysql crossdb < crossdb.sql

# 取得 pid (ps axu | grep crossdb)

pid="123456789"
while true; do
    if [ -f /proc/${pid}/io ]; then
        bytes_progress=$(cat /proc/${pid}/io | awk '/^rchar/ {print $2}')
        bytes_total=$(cat /root/backup.sql | wc -c)
        progress=$(awk "BEGIN {printf "%.2f", ((100 * $bytes_progress)/$bytes_total)}")
        echo "Progress: $progress%"
        sleep 5;
        continue;
    else
        break;
    fi
done

# 結果

Progress: 37.36%
Progress: 39.91%
Progress: 42.05%
Progress: 44.56%
Progress: 46.99%

方式二

# 這個簡單多了

yum install pv -y
pv crossdb.sql | mysql crossdb
Related posts 相關文章
使用連線控制插件提高 MySQL 安全性
More...
使用驗證插件提高 MySQL 密碼安全性
More...
使用 sysbench 壓力測試 mysql
More...
Percona XtraDB Cluster 是 MySQL 的叢集與分散式解決方案
More...

作者

留言

撰寫回覆或留言

發佈留言必須填寫的電子郵件地址不會公開。