我有一个约250MB的MySQL数据库的数据库备份。 我用mysqldump做了
我试图加载到另一台服务器上,如下所示:
mysql -u xxxx -pxxxx data_mirror < dbdump.sql
我不满意这个过程,因为
你会推荐什么方法来备份和恢复大型MySQL数据库?
我正在基于Windows 7的服务器上执行此操作。
你得到一个“服务器走开”的原因是因为你的terminal会话超时。 使用nohup来防止进程被中断,如下所示:
nohup mysql -u xxxx -pxxxx data_mirror <dbdump.sql&
注意:“&”意味着进程在后台运行。 要跟踪正在运行的进程的状态,只需简单地尾随创build的nohup.out文件即可:
尾巴-f nohup.out
使用LOAD DATA INFILE是SELECT … INTO OUTFILE的补充。 这应该是更快,因为没有涉及的SQLparsing。
在不同的Linux平台上使用Percona Xtrabackup已经很长时间了。 不幸的是,它在Windows的alpha版本。
大型备份? 我已经从10多GB的压缩 SQL转储恢复数据…
通过SQL转储的非线性特性,无法获得进度指示器。 转储大小与MySQL服务器的实际磁盘利用率几乎没有关系。
“服务器走了”似乎表明有什么东西正在放弃您的MySQL客户端和服务器之间的连接。 或者MySQL服务器崩溃(或者运行缓慢),或者检查你的networking,如果你的服务器是远程的(一些防火墙对于长时间的TCP连接是痛苦的)。
请注意,使用压缩SQL转储速度更快,因为它需要较less的I / O读取实际的转储。 例如:
mysqldump the_db | gzip > the_db.sql.gz # backup zcat the_db.sql.gz | mysql the_db # restore