迁移mm_wiki数据实践记录
写在前面
虽然我的随笔大部分都是记录在静态博客站点和博客园平台的,但是有一些临时的想法还是使用了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数据实践记录的更多相关文章
- Oracle数据迁移至HBase操作记录
Oracle数据迁移至HBase操作记录 @(HBase) 近期需要把Oracle数据库中的十几张表T级别的数据迁移至HBase中,过程中遇到了许多苦难和疑惑,在此记录一下希望能帮到一些有同样需求的兄 ...
- EF CodeFirs 代码迁移、数据迁移
最近悟出来一个道理,在这儿分享给大家:学历代表你的过去,能力代表你的现在,学习代表你的将来. 十年河东十年河西,莫欺少年穷 学无止境,精益求精 标题叫EF CodeFirs 代码迁移.数据迁移. ...
- Python 基于Python从mysql表读取千万数据实践
基于Python 从mysql表读取千万数据实践 by:授客 QQ:1033553122 场景: 有以下两个表,两者都有一个表字段,名为waybill_no,我们需要从tl_waybill_b ...
- 大数据实践:ODI 和 Twitter (二)
大数据实践:ODI和Twitter(二) 在前面的文章中,我们已经使用flume将数据从twitter抓取到Hive中,现在我们来看看ODI(Oracle Data Integrator)如何在HIV ...
- Ionic3项目实践记录
Ionic3首次项目实践记录 标签(空格分隔): Angular Ionic Ionic3踩坑 1. 路由懒加载(lazy load) 如果设置了懒加载,就必须全部懒加载(包括TabsPage),否则 ...
- 9-2、大型项目的接口自动化实践记录----递归判断两个json串是否相等
1.已知json串构成的情况下判断 先构造一下场景,假设已经把各个数据都移除掉不对比的字段 图1 预期.实际结果,复杂接口返回多层嵌套json时,同下 图2 预期.实际结果值为:{child_json ...
- 9-1、大型项目的接口自动化实践记录----数据库结果、JSON对比
上一篇写了如何从DB获取预期.实际结果,这一篇分别对不同情况说下怎么进行对比. PS:这部分在JSON对比中也适用. 1.结果只有一张表,只有一条数据 数据格式:因为返回的是dicts_list的格式 ...
- 8、大型项目的接口自动化实践记录----DB分别获取预期结果、实际结果
上一篇实现数据分离升级版--从DB获取数据,以及对应的请求实现,作为一个case,还缺少了预期结果与实际结果的获取及对比.因为前面的文章已经说过接口返回值的获取及对比,所以这篇不说这块了,这篇说一下D ...
- 3、大型项目的接口自动化实践记录----开放API练习
开始做实际项目前,先拿个网上的简单API练下手 一.API说明: 接口信息 接口名:京东获取单个商品价格 地址:http://p.3.cn/prices/mgets 入参:skuids=J_商品ID& ...
- 2、大型项目的接口自动化实践记录--接口测试简介及RequestsLibrary关键字简介
1.接口测试简介 1)先简单介绍下接口测试,那么什么是接口测试呢? 百科的回答:接口测试是测试系统组件间接口的一种测试.接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点. 看起来有 ...
随机推荐
- [转帖]《Linux性能优化实战》笔记(二)—— CPU 上下文切换(上)
上一篇的最后一个例子,在多个进程竞争CPU时,我们看到每个进程实际上%usr部分只有20%多,70%多是在wait,但是load远远高于单个进程使用CPU达到100%. 这让我想到之前看的RWP公开课 ...
- click与addEventListener和removeEventListener事件与移除正确的移除事件详解
1. onclick事件 es5 普通事件就是直接触发事件,相同的事件会被覆盖掉.代码如下: let demoDiv=document.querySelector(".demo") ...
- 【K哥爬虫普法】大数据风控第一案:从魔蝎科技案件判决,看爬虫技术刑事边界
我国目前并未出台专门针对网络爬虫技术的法律规范,但在司法实践中,相关判决已屡见不鲜,K 哥特设了"K哥爬虫普法"专栏,本栏目通过对真实案例的分析,旨在提高广大爬虫工程师的法律意识, ...
- Mysql 为现有数据生成Guid
GUID 全局唯一标识符(GUID,Globally Unique Identifier)是一种由算法生成的二进制长度为128位的数字标识符.GUID主要用于在拥有多个节点.多台计算机的网络或系统中. ...
- 微信小程序-获取用户位置
首先我要提供几个文档的链接地址: 首先是官方文档的获取用户位置的API文档地址: 官方文档地址:https://developers.weixin.qq.com/miniprogram/dev/api ...
- 推荐系统[三]:粗排算法常用模型汇总(集合选择和精准预估),技术发展历史(向量內积,Wide&Deep等模型)以及前沿技术
1.前言:召回排序流程策略算法简介 推荐可分为以下四个流程,分别是召回.粗排.精排以及重排: 召回是源头,在某种意义上决定着整个推荐的天花板: 粗排是初筛,一般不会上复杂模型: 精排是整个推荐环节的重 ...
- C# 语言程序设计笔记
C#是一种最新的.面向对象的编程语言.它使得程序员可以快速地编写各种基于Microsoft .NET平台的应用程序,Microsoft .NET提供了一系列的工具和服务来最大程度地开发利用计算与通讯领 ...
- C++11之函数对象
目录 1.使用场景 2.函数对象 3.std::bind 4.总结 1.使用场景 在没有C++11的时候,我们通常使用回调函数来完成某些特定的功能,使用回调函数就需要先声明函数指针 示例: typed ...
- iOS安装包瘦身总结
前段时间APP要做资源压缩,需要把项目中使用的所有图片资源进行压缩,以减小APP安装包体积.想着既然压缩APP资源是为了缩小APP体积,那么来一遍APP整体瘦身流程并做一下总结吧. 整个过程分三步: ...
- 关于 React 的作业(未完结)
一.输出 Hello React 信息到网页的程序,非JSX的写法 代码实现如下: <!DOCTYPE html> <html lang="en"> < ...