2

我正在将大型 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

它说转储完成,但是为什么新服务器上的数据库仍然是空的?我根本没有看到任何桌子。

4

1 回答 1

4

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

mysql -u root -p dbname < db.sql

你可以,如果你很勇敢,并且第二个 VPS 的端口 3306 通过 TCP 向旧的 VPS 开放,并且你有一个root@oldserver可以执行写入的用户帐户,那么只需一个操作即可:

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

我不会在 Internet 上尝试它,但我已经在 LAN 上做过几次了。

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

mysqldump --routines -u root -p dbname > public_location/db.sql
于 2012-06-13T00:40:21.660 回答