From: Rational
Author: Rational
原文链接:Typecho博客迁移完整指南
一、数据备份
1. 数据库备份
1 | mysqldump -u root -p typecho > typecho_backup.sql |
mysqldump只会导出数据库的结构和数据内容,不会包含数据库的用户名和密码信息。也就是说,备份文件typecho_backup.sql中不会保存与数据库连接相关的用户名和密码。所以后文需要CREATE USER
2. 网站文件备份
1 | cd /var/www/html |
二、数据迁移
1. 传输文件(二选一)
1 | # 方式一:直接从源服务器到目标服务器 |
2. 恢复数据
2.1 文件恢复
1 | cd /var/www/html |
2.2 数据库恢复
登录MySQL-创建数据库-创建用户密码-赋予权限-刷新-退出
1 | mysql -u root -p |
创建的数据库名和用户名密码可以为新的。例如数据库名改为
typechho1,那么下一步的typecho需改为typecho1。同时config.inc.php中也需要更改相应的参数。
导入数据
1
mysql -u root -p typecho < /root/typecho_backup.sql
三、配置调整
1. 修改配置文件
1 | nano /var/www/html/config.inc.php |
需检查:
- 数据库连接信息
- 网站URL
- 网站路径
2. 清理缓存
1 | rm -rf /var/www/html/usr/cache/* |
3. 重启服务
1 | systemctl restart nginx |
php7.4-fpm版本需要自行检查
四、故障排查
1. 查看日志
1 | # Nginx日志 |
2. 常见问题解决
数据库连接错误:检查 config.inc.php 配置
图片显示异常:检查 uploads 目录权限
后台登录问题:
查看数据库中的用户表:1
SELECT * FROM typecho_users;
修改管理员url:
1
UPDATE typecho_users SET url = 'https://新域名' WHERE uid = 1;
重置管理员密码:
1
UPDATE typecho_users SET password = MD5('新密码') WHERE uid = 1;
修改管理员用户名:
1
UPDATE typecho_users SET name = '新管理员用户名' WHERE name = 'admin';
五、注意事项
- 迁移前停用插件
- 确保PHP版本兼容
- 保留原站备份
- 测试所有功能:
- 前台访问
- 后台登录
- 文章显示
- 图片加载
- 评论功能