迁移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系统NVME盘分区和挂载
https://www.jianshu.com/p/04327f1b97cb 查看系统里面识别到的硬盘和分区的信息 $ sudo fdisk -l Disk /dev/nvme1n1: 1.8 TiB ...
- [转帖]jmeter之发送jdbc请求--06篇
1.setup线程组中新建一个JDBC Connection Configuration配置元件 2.设置配置信息 Database URL:jdbc:mysql://127.0.0.1:3306/v ...
- [转帖]实战瓶颈定位-我的MySQL为什么压不上去
https://plantegg.github.io/2023/06/20/%E5%AE%9E%E6%88%98%E7%93%B6%E9%A2%88%E5%AE%9A%E4%BD%8D-%E6%88% ...
- [转帖]NOHZ = ON如何影响Linux内核中的do_timer()?
https://www.jb51.cc/faq/897483.html 如何解决NOHZ = ON如何影响Linux内核中的do_timer()?? 首先,让我们了解什么是tickless kerne ...
- 龙芯中标麒麟 上面安装libgdiplus的方法
其实方法与之前的blog 基本上完全一样 但是发现有一个问题 安装完libgdiplus之后必须重启一下才能有效果... CentOS 安装libgdi的方法 1. 安装必须的包 1 yum ins ...
- 一个PCI-E的硬盘参数
看了下 HDD 随机 IOPS 在 100-200 之间 (读写) SATA的 SSD 随机IOPS 在 读 100k 写 20k 左右U.2的SSD 的随机IOPS 在 读 500k 写 50k 左 ...
- PHP GC回收机制详解
前言 GC的全称是Garbage Collection也就是垃圾回收的意思,在PHP中,是使用引用计数和回收周期来自动管理内存对象的,当一个对象被设置为NULL,或者没有任何指针指向时,他就会变成垃圾 ...
- 【验证码逆向专栏】最新某度旋转验证码 v2 逆向分析
声明 本文章中所有内容仅供学习交流使用,不用于其他任何目的,不提供完整代码,抓包内容.敏感网址.数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关! 本文章未经许 ...
- CF676C 题解
使用尺取法(双指针法). 由于字符种类只有 \(2\) 种,答案一定是全 a 或全 b. 情况 \(1\):全 a 快指针循环移动,并统计字符 b 的数量 \(cntb\),直到 \(cntb\) 即 ...
- Python自动化办公--Pandas玩转Excel数据分析【三】
相关文章: Python自动化办公--Pandas玩转Excel[一] Python自动化办公--Pandas玩转Excel数据分析[二] python处理Excel实现自动化办公教学(含实战)[一] ...