Leanote的数据迁移—关于蚂蚁笔记的mongodb数据库迁移

蚂蚁笔记是我在上课时为了方便使用而搭建的,这款程序不仅支持有名的markdown语法,还可以将自己的笔记直接转换成博客,并且支持多个人的在线编辑(没用过)!我也在用这个编辑笔记,确实非常的方便,本篇文章呢,就是在这个程序下写的!而我也是因为服务器到期而却因续费价格太高,不得以才使用对象的身份重新买的学生机,但这就牵扯到leanote的数据库迁移工作!我也是踩了很多的坑才得已成功!

准备工作

  1. 相同配置环境的服务器
  2. leanote同版本源码

正片开始

  1. 首先是安装mongodb数据库

这是整个迁移过程中最为核心的地方!我之前在这卡了好长时间,因为我本人并没有接触过mongodb,所以太容易出错了,为了方便省事,就直接安装docker,在docker下安装了mongodb,这一步可以跳过,用宝塔面板的同学可以直接在宝塔软件商城中安装docker或者mongodb即可,至于如何安装docker,百度一大堆!

  1. 安装leanote并初始化

从官网下载程序源码,也可以关注我的公众号,回复2189或者leanote获取下载地址!
创建一个专门存储leanote的文件夹,我放在了root目录,你们也可以在别的地方创建,只不过后面的命令自己需要稍作修改!

cd /root     // 切换到root目录
mkdir leanote   // 创建程序目录
mkdir mongodbdata  // 创建存放mogodb备份数据文件夹
cd leanote      // 进入root下leanote文件夹
tar -zxvf leanote-linux-amd64-v2.6.1.bin.tar.gz   //解压主目录

然后启动mongodb数据库,如果你是使用docker安装的mongodb,请一定要注意在启动mongodb容器前创建映射文件夹,这个文件夹是用来与宿主机交换资料!

这是我docker创建mongodb的映射方法,也可以照抄

将leanote源程序中的初始化数据库文件导入到mongodb数据库中,docker安装的则需要将初始化数据库文件复制到映射文件夹中再进行导入

mongodb:

mongorestore -h localhost -d leanote --dir /root/leanote/mongodb_backup/leanote_install_data/

docker:

cp -r /root/leanote/mongodb_backup/leanote_install_data /root/docker-mongodbdata/
docker ps
docker exec -it 容器id /bin/bash
mongorestore -h localhost -d leanote --dir /data/leanote_install_data

运行程序

cd /你自己存放leanote的路径/bin
./run.sh

此时没有报错的话,就可以使用ip:9000进行验证了,如果出现了界面,那么就是初步的搭建成功!

  1. 进入旧服务器,备份数据,并传送给新服务器
mongodump --port 27017 --db leanote -o /data/leanoteBackUp/
scp -r /data/leanoteBackup root@xx.xx.xx.xx:/root/docker-mongodbdata/

进入mongod数据库,为leanote数据库创建root用户,用来导入数据!(这一步docker安装的需要进入容器)

mongod   //进入mongod
use leanote  //切换数据库
db.createUser({user: "root", pwd: "123456", roles: [{ role: "dbOwner", db: "leanote" }]})  //创建用户 此处设置的密码需要在后面使用的
  1. 恢复数据
mongorestore -h 127.0.0.1:27017 -d leanote /data/leanoteBackUp/leanote -u=root -p=123456
  1. 访问测试!

结尾

关注我的公众号,号码内回复【2189】即可获取完整代码与所需工具,扫描下方二维码即可!

长安念姑苏

评论区
头像