最有效的方法是导出200个数据库,总共40GB的数据,并将它们导入另一个服务器?我原本计划运行一个脚本,将每个数据库导出到自己的sql文件,然后将它们导入新服务器。如果这是最好的方法,是否有一些额外的标志我可以传递给mysqldump,这会加快它的速度?
我看到的另一个选项是直接通过SSH将mysqldump传递给导入。这会是一个更好的选择吗?如果是这样,你能提供一些关于脚本可能是什么样子的信息吗?
答案 0 :(得分:5)
如果服务器可以相互ping通,您可以使用PIPES来执行此操作:
mysqldump -hHOST_FROM -u -p db-name | mysql -hHOST_TO -u -p db-name
爽快!
<强> [编辑] 强>
回答你的问题:
mysqldump -hHOST_FROM -u -p --all | mysql -hHOST_TO -u -p
答案 1 :(得分:0)
快速,快速的方法是使用percona xtrabackup进行热备份。它非常快,您可以在实时系统上使用它,而mysqldump可以导致锁定。如果是Innodb,请避免将/ var / lib目录复制到其他服务器,这会产生非常糟糕的影响。
尝试percona xtrabackup,以下是有关安装和配置的更多信息。 Link here
答案 2 :(得分:-1)
mysqldump -p -u username database_name > dbname.sql
wget http://www.domainname.com/dbname.sql
mysql -p -u username database_name < file.sql
完成!!
答案 3 :(得分:-1)
如果两个mysql服务器都具有相同的dbs和配置,我认为最好的方法是使用rsync复制/ var / lib / mysql目录。在执行复制之前停止服务器以避免表损坏