将mysql数据库从一个vps移动到另一个vps

时间:2012-06-13 00:38:16

标签: mysql sql mysqldump

我正在将一个大型wordpress mysql db(1.49gb)从旧服务器移动到新服务器,我所做的是:

mysqldump -u root -p dbname > public_location/db.sql
然后我做了一个:

wget http://oldserver/db.sql

我在新服务器上创建了数据库,创建了用户,然后:

mysqldump -u root -p dbname < db.sql

它表示转储已完成,但为什么新服务器上的数据库仍为空?我根本看不到任何桌子。

1 个答案:

答案 0 :(得分:4)

不要使用输入文件在新服务器上调用mysqldump,而只需调用mysql

mysql -u root -p dbname < db.sql

你可以,如果你很勇敢,第二个VPS通过TCP打开旧版本的端口3306并且你有一个能够写入的用户帐户root@oldserver,可以在一个动作中执行此操作:

# Pipe the dump directly from the old vps to the new vps:
mysqldump -uroot -p dbname | mysql -h newserver -uroot -p dbname

我不会在互联网上尝试它,但我已经在局域网上多次完成了它。

最后,如果您存储了需要与数据库一起迁移的函数和过程,请不要忘记--routines参数。没有它,他们不会进入垃圾场。

mysqldump --routines -u root -p dbname > public_location/db.sql