我无法使用MySQL的内置进度报告方法转储到文件中。
根据this,修补程序在一年前提交给mysqldump.exe,如果使用选项--verbose和--show_progress_size调用mysqldump,则每隔这么多行会打印进度到命令行。但是,当我运行命令
时mysqldump -u <user> -p<password> --verbose --show_progress_size <database_name> > "C:\thingy.sql"
我收到以下错误消息:
mysqldump: unknown option '--show_progress_size'
我无法找到从mysqldump中删除此选项的任何记录。我使用的是MySQL社区服务器的5.1.58版本,mysqldump是在版本10.13。
如果确实删除了此功能,那么我正在寻找一种方法来实现转储和恢复的准确进度条。
答案 0 :(得分:7)
看起来像 mysqldump 的版本10.13已经在2009年或更早版本发布了(为了自己查看,在this bug report中搜索“10.13”并查看相应的MySQL版本)并且仍在最新版本的MySQL中使用。所以补丁可能尚未发布。不过,可能值得尝试更新到当前版本的MySQL。
我认为你使用的是Windows。如果我错了并且你在Linux上,你可以使用 pv 读取你的转储文件:
pv --bytes --eta --progress dump_file | mysql --some-option
这会给你一些进度条,虽然它有时会落后。不幸的是,在转储到文件期间我还没有设法使用 pv ,但也许这些信息可以帮助你。