写在前面

虽然我的随笔大部分都是记录在静态博客站点和博客园平台的,但是有一些临时的想法还是使用了wiki来记录。

经过多次试用和对比之后,最终选择了mm-wiki来作为自托管的wiki系统。

mm-wiki安装便捷,使用也非常简单,越来越觉得对这个wiki系统的依赖更强了,

虽然mm-wiki的文档全部都是以文件的形式保存到磁盘的,但是元数据需要使用MySQL保存。

为了避免云服务器突然故障或者MySQL出问题,所以定期将元数据和文档进行备份才比较妥当。

如下是备份mm-wiki元数据和文档之后迁移到新环境的详细操作步骤。

数据备份

1.备份数据库

使用mysqldump程序导出数据库完整数据(包含表结构和数据):

mysqldump -u [数据库用户名] -p [要备份的数据库名称] > [备份文件的保存路径]

例如:

[root@VM-24-10-centos ~]# mysqldump -u root -p mm_wiki > mm_wiki_bak.sql

2.备份文档数据

由于mm-wiki是以markdown格式保存所有wiki文档的,所以直接打包数据目录即可。

例如:

[root@VM-24-10-centos data]# tar cvf mm-wiki-data_bak.tar.gz mm-wiki-data

安装mmkiwi

为了将数据迁移到新的环境,需要在新主机上先安装mmwiki,详细安装步骤参考官方文档

需要注意的是:为了避免在迁移之后需要修改参数,最好将新环境的文档数据目录和数据库名称与旧环境保持一致。

如果不一致,可能需要手动修改相应的配置参数。

mm-wiki的安装是通过一个向导页面完成的,非常简单。

安装完毕之后看到如下提示即表明已经完成安装:

启动命令: ./mm-wiki --conf conf/mm-wiki.conf
访问地址:http://127.0.0.1:9898 # 端口是在向导页面设定的

数据恢复

mm-wiki的数据恢复过程包含2个步骤。

第一步:将备份的数据库导入新的数据库。

执行命令:mysql -u用户名 -p 数据库名 < 数据库名.sql

例如:$ mysql -uroot -p mm_wiki < /home/zhangsan/mm_wiki_bak.sql

第二步:将备份的wiki文档数据文件解压到新系统的数据目录。

执行命令:tar xvf mm-wiki-data_bak.tar.gz -C /home/zhangsan/mm_wiki_data/

完成上述2个步骤之后,启动新环境的mm-wiki,使用设置的管理员用户名登录即可看到之前的数据了。

执行如下命令启动:

./mm-wiki --conf conf/mm-wiki.conf

如果希望启动到后台,可以执行:

nohup ./mm-wiki --conf conf/mm-wiki.conf > /dev/null 2>&1 &

【参考】

mysql数据库导出数据(命令)

迁移mm_wiki数据实践记录的更多相关文章

  1. Oracle数据迁移至HBase操作记录

    Oracle数据迁移至HBase操作记录 @(HBase) 近期需要把Oracle数据库中的十几张表T级别的数据迁移至HBase中,过程中遇到了许多苦难和疑惑,在此记录一下希望能帮到一些有同样需求的兄 ...

  2. EF CodeFirs 代码迁移、数据迁移

    最近悟出来一个道理,在这儿分享给大家:学历代表你的过去,能力代表你的现在,学习代表你的将来. 十年河东十年河西,莫欺少年穷 学无止境,精益求精    标题叫EF CodeFirs 代码迁移.数据迁移. ...

  3. Python 基于Python从mysql表读取千万数据实践

    基于Python 从mysql表读取千万数据实践   by:授客 QQ:1033553122 场景:   有以下两个表,两者都有一个表字段,名为waybill_no,我们需要从tl_waybill_b ...

  4. 大数据实践:ODI 和 Twitter (二)

    大数据实践:ODI和Twitter(二) 在前面的文章中,我们已经使用flume将数据从twitter抓取到Hive中,现在我们来看看ODI(Oracle Data Integrator)如何在HIV ...

  5. Ionic3项目实践记录

    Ionic3首次项目实践记录 标签(空格分隔): Angular Ionic Ionic3踩坑 1. 路由懒加载(lazy load) 如果设置了懒加载,就必须全部懒加载(包括TabsPage),否则 ...

  6. 9-2、大型项目的接口自动化实践记录----递归判断两个json串是否相等

    1.已知json串构成的情况下判断 先构造一下场景,假设已经把各个数据都移除掉不对比的字段 图1 预期.实际结果,复杂接口返回多层嵌套json时,同下 图2 预期.实际结果值为:{child_json ...

  7. 9-1、大型项目的接口自动化实践记录----数据库结果、JSON对比

    上一篇写了如何从DB获取预期.实际结果,这一篇分别对不同情况说下怎么进行对比. PS:这部分在JSON对比中也适用. 1.结果只有一张表,只有一条数据 数据格式:因为返回的是dicts_list的格式 ...

  8. 8、大型项目的接口自动化实践记录----DB分别获取预期结果、实际结果

    上一篇实现数据分离升级版--从DB获取数据,以及对应的请求实现,作为一个case,还缺少了预期结果与实际结果的获取及对比.因为前面的文章已经说过接口返回值的获取及对比,所以这篇不说这块了,这篇说一下D ...

  9. 3、大型项目的接口自动化实践记录----开放API练习

    开始做实际项目前,先拿个网上的简单API练下手 一.API说明: 接口信息 接口名:京东获取单个商品价格 地址:http://p.3.cn/prices/mgets 入参:skuids=J_商品ID& ...

  10. 2、大型项目的接口自动化实践记录--接口测试简介及RequestsLibrary关键字简介

    1.接口测试简介 1)先简单介绍下接口测试,那么什么是接口测试呢? 百科的回答:接口测试是测试系统组件间接口的一种测试.接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点. 看起来有 ...

随机推荐

  1. [转帖]br 备份时排除某个库

    https://tidb.net/book/tidb-monthly/2023/2023-02/usercase/excluded-a-storeroom-during-br-backup 生产环境中 ...

  2. [转帖]总结:shell中的if条件判断

    一.if 的基本语法 if [ command ];then xxx elif [ command ];then xxx else xxx fi 二.常见的一些写法案例 1.if [ "x$ ...

  3. Python学习之六_同时访问Oracle和Mysql的方法

    Python学习之六_同时访问Oracle和Mysql的方法 背景 jaydebeapi 可以访问大部分数据库. 但是他有一个问题是仅能够访问一种类型的数据库. 如果同事连接两种数据库,那么就会出现问 ...

  4. [转帖]ubuntu下配置iptables、ufw端口转发

    iptables 端口转发(CentOS) 注意:一来一去 在中转服务器操作 iptables -t nat -A PREROUTING -p tcp --dport [端口号] -j DNAT -- ...

  5. 基于Apache PDFBox的PDF数字签名

    在Java语言环境中完成数字签名主要基于itext-pdf.PDFBox两种工具,itext-pdf受商业限制,应用于商业服务中需要购买授权.PDFBox是apache基金会开源项目,基于apache ...

  6. JQuery 源码解析一

    网上已经有很多解读 jQuery 源码的文章了,作为系列开篇的第一篇,思前想去起了个[深入浅出jQuery]的标题,资历尚浅,无法对 jQuery 分析的头头是道,但是 jQuery 源码当中确实有着 ...

  7. 人工智能创新挑战赛:助力精准气象和海洋预测Baseline[2]:数据探索性分析(温度风场可视化)、CNN+LSTM模型建模

    "AI Earth"人工智能创新挑战赛:助力精准气象和海洋预测Baseline[2]:数据探索性分析(温度风场可视化).CNN+LSTM模型建模 1.气象海洋预测-数据分析 数据分 ...

  8. 10.2 调试事件获取DLL装载

    理解了如何通过调试事件输出当前进程中寄存器信息,那么实现加载DLL模块也会变得很容易实现,加载DLL模块主要使用LOAD_DLL_DEBUG_EVENT这个通知事件,该事件可检测进程加载的模块信息,一 ...

  9. ubuntu16.04编译安装nginx1.24.0

    环境: Distributor ID: Ubuntu Description: Ubuntu 16.04.7 LTS Release: 16.04 Codename: xenial 安装包: pcre ...

  10. 给textarea添加行号,textarea使用代码风格的一些思考

    背景 项目有个需求是 在textarea中编辑脚本并显示为代码风格样式,显示行号: textarea显示行号 思路: 1.监听textarea内容变化,执行一个change函数,解析内容里面有多少个换 ...