前言
我的博客风林火山,环境是阿里云的 Linux,版本是 0.66,时隔一年过去,最新版本已经是 1.80,遂决定升级。昨晚咨询向 D 咨询了升级的方法,得知不可以跳版本升级,遂崩溃(需要跨越 12 个版本升级),今天晚上饭后,硬着头皮上了。
过程
数据备份
- 登录 mysql:mysql -u root -p
- 查看数据库:show databases;
- 数据库备份:退出 mysql 执,并行 mysqldump -uusername -ppassword b3log > /backupfile20170217.sql;
- 将备份的数据拷贝到本机,将在本机完成升级后再部署到云上。
升级前准备
在进行升级前需要准备从 0.67 到 1.80 各版本的编译后 war 包,解压
,并把他们放在 tomcat 配置文件指定的部署路径下面。
将先前备份的数据文件,导入到本机的 mysql(新建数据库的时候注意编码)下面。
升级及验证
- 从 0.67 到 1.80,逐个部署文件,每次部署完成后,启动前,修改 latke.properties 及 local.properties。
- 启动 tomcat,输入 localhost 请求首页,此时系统会自动完成升级。
- 等待 30S,检查 preference 或 option 表的 version 字段,看是否升级成功(版本号是否更新)。
视情况进行下一步或排错。
升级后扫尾
- 直到升级到最新版本,在本机将升级成功后的数据库导出,和程序包一起上传至阿里云,同时检查程序的配置文件 latke.properties 及 local.properties。
- 在阿里云上,登录到 mysql,运行以下命令:
- 删除库(因为经过升级数据库已有了很大变化):drop database b3log;
- 新建库,注意编码:create database 'b3log' default character set utf8 collate utf8_bin;
- 切换至 b3log 库:use b3log;
- 导入:source /flcoder180.sql;
重启服务
- 启动 tomcat:service tomcat7 start;
- 启动 nginx:service nginx start;
后话
升级后解决了两大问题:
- 博客模版比以前好看一倍。
- markdown 的兼容性问题没有了。
最后,鸣谢 D 大,跨了 12 个版本升级竟然顺利完成了,可见其各版本的衔接是下了大功夫的,solo 项目本身管理得非常到位。
最后的最后,经 D 大提醒,需要修改一下表名,登录 mysql 并切换到 b3log 下,执行
- alter table b3_solo_archivedate rename b3_solo_archiveDate;
alter table b3_solo_archivedate_article rename b3_solo_archiveDate_article;
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于