Mysql
如何監控大型 .sql 文件的導入進度?
我正在導入 7 GB
foobar.sql
來恢復本地數據庫中的表。$ mysql -h localhost -u root 'my_data' < foobar.sql $ mysql --version /usr/local/mysql/bin/mysql Ver 14.12 Distrib 5.0.96, for apple-darwin9.8.0 (i386) using readline 5.1
我如何監控其進度?
如果您只是從 *nix 上的 CLI 的轉儲文件導入,例如
mysql -uxxx -pxxx dbname < /sqlfile.sql
然後首先在您的作業系統上安裝管道查看器,然後嘗試這樣的事情:
pv sqlfile.sql | mysql -uxxx -pxxxx dbname
這將在程序執行時顯示一個進度條。
它非常有用,您還可以使用它來估計 mysqldump 進度。
pv 轉儲
sqlfile.sql
並將它們傳遞給 mysql(因為管道運算符)。在傾倒時,它顯示了進展。很酷的是 mysql 只在它可以進行的情況下以最快的速度獲取數據,因此 pv 可以顯示導入的進度。我沒有任何證據。但似乎是這樣。我想有一些緩衝區使用,但在某些時候我認為mysql
當它仍然忙於處理時不會再讀取任何數據。