我尝试把博客从 SAE 迁到阿里云,过程有些小磕碰,不过还是成功了,记录下。
迁移数据库
SAE 数据库是 MySQL,由于我数据过于庞大,不能通过 phpMyAdmin 导出,所以我使用了 SAE 的 DeferredJob 功能进行数据库导出。
如果你使用的是自己的数据库导出就简单多了:
1 | mysqldump -u USERNAME -p DATABASE_NAME > OUTPUT.sql |
可以用 gzip
压缩下:
1 | mysqldump -u USERNAME -p DATABASE_NAME | gzip > OUTPUT.sql.gz |
导出后上传到目标服务器,我用的是 sftp 。
1 | sftp username@host |
然后在目标服务器 MySQL 导入,不过得先在 MySQL 命令界面创建个数据库来保存这份数据:
1 | CREATE DATABASE wp; |
最后导入数据,这是在 sh
界面:
1 | mysql -u USERNAME -p TARGET_DATABASE_NAME < saeOutput.sql |
迁移 wordpress 文件
把整个 wordpress 文件夹复制到目标服务器,在 wp-config.php
修改下数据库配置:
1 | define('DB_NAME', MYSQL_DB); |
改 URL
需要改域名的话在当前主题的 functions.php
下添加以下代码:
1 | update_option('siteurl','http://foo.bar'); |
然后访问该 wordpress 目录在服务器的路径即可成功改域名,之后就可以把以上代码删掉了。