Site icon 老张博客

简单几步,Typecho博客文章轻松导入到Memos

文章目录 「隐藏」
  1. 1.宝塔面板安装phpMyAdmin
  2. 2.导出Typecho博客文章
  3. 3.编码转换
  4. 4.数据选用
  5. 5.下载Memos数据
  6. 6.导出Memos数据库Memo表内容
  7. 7.合并Typecho数据
  8. 8.将编辑好的Memos的CSV文件再利用Navicat Premium导入到Memo表中。
  9. 9.覆盖原memos_prod.db文件
  10. 10.总结

老张除了有这个老张博客之外,还有一个张sir随笔,这个随笔坚持有三年的时间了,虽然期间换过两次域名。张sir随笔从最初的定位就是“记一些点滴,发一点牢骚!每篇不超过200字”。从建博之初,也就是当成了老张博客的后花园,更或是说是拿来当“微博”、“朋友圈”来用的。而这段时间一直在折腾着Memos,而Memos经过大神们重写主题,完全可以拿来当微博或是朋友圈来使用。那这和张sir随笔就有点冲突了。

前几天就想着把张sir随笔上1136篇博文给搬到Memos上来。我一直都是使用的宝塔面板,那今天就以宝塔面板来举例。必须要说明是,只是把Typecho的博文的内容给导入到Memos,评论没有办法导,因为Memos没有评论功能,数据库里也就没有评论的数据表。

1.宝塔面板安装phpMyAdmin

phpMyAdmin是一款著名的Web端的MySQL的管理工具,一般情况宝塔安装完成之后,安装网站环境的时候这个是可选项。如果当时没有选择的话,可以到宝塔面板的“软件商店”的“运行环境”里再次安装。

2.导出Typecho博客文章

在宝塔面板的数据库下,找到需要导出的Typecho数据库,直接后面的“管理”,直接跳转到phpMyAdmin管理页面。输入相应的数据库用户名和密码进入管理界面。

打开数据库,找到“typecho_contents”这张表,这张表里保存着你的所有的博客文章。点击上面的“导出”菜单。

导出方式:快速

导出格式:CSV

导出记录:转储所有行

我在这里之所以选择导出格式出CSV,是因为可以直接在Excel里编辑数据。最开始我选择用CSV for MS Excel格式,结果全乱码。自己想折腾的,也可以试其他几种格式。

3.编码转换

在第二步导出的CSV格式的数据文件,首先用Notepad类的工具将编码选择为“使用UTF-8-BOM编码”,然后保存一次退出,然后再用Excel打开。不转换编码直接用Excel打开之后可能会乱码。

4.数据选用

当用Excel打开导出的CSV文件后,你会发现里面有很多例的内容,这个时候我们只需要D、E、F例三例数据。D例created文章创建时间、E例modified文章修改时间、F例text当然是文章内容了。

5.下载Memos数据

首先把你的Memos容器停止运行,再根据老张博客之前的教程《无需代码,宝塔面板Docker部署便签工具Memos》里教程内容,当时是把容器里的数据库文件直接挂载到服务器目录里,找到相应的目录,将memos_prod.db下载到本地。memos_prod.db就是我们的Memos数据库文件。

6.导出Memos数据库Memo表内容

这里我们选择Navicat Premium工具来导出。首先新建连接,选择SQlite类型的数据库。连接名随意写,数据库文件就是我们第5步下载的memos_prod.db文件。Memos数据库中表也不是太多,打开每个表之后你就会发现各个的用处。其中表memo就是存放我们发布的文章的地方了。

分析下memo表的每列内容

ID:文章ID号,特别注意,这里ID号不是顺序号,Memos显示文章的顺序是按时间来的。

created_ts:文章创建时间

updated_ts:文章修改时间

row_status:文章状态,我们这里就默认NORMAL吧,不要修改了。

content:文章内容

visibility:可见状态,Public对应所有人可见、PRIVATE应对自己可见

点击“memo”然后导出。这里同样为了方便编辑,我们导出的文件格式也选择CSV文件格式。

特别提醒:导出的CSV文件也一定要按按第三步操作,把编码选择成UTF-8-BOM编码,否则用Excel打开之后会乱码。

7.合并Typecho数据

一至四步已将导出了我们需要的Typecho博客的CSV文件,五、六步导出来Memos的CSV文件,这个时候,我们只需要利用EXcle,把Typecho的CSV内容复制、粘贴到memos的CSV文件里来即可。

注意文章ID接着写即可,只要不重复就不会出错。

8.将编辑好的Memos的CSV文件再利用Navicat Premium导入到Memo表中。

因为我的Memos原来有内容,所以我选择了“追加或更新”。

9.覆盖原memos_prod.db文件

将修改好的memos_prod.db文件直接上传到服务器挂载Memos数据库目录,覆盖原文件,重启Memos容器。

10.总结

现实当中,像我们这需求把Typecho博客的文章内容导入到Memos的应该很少。这里也只是讲了一个方法。不仅可以把Typecho的文章导入到Memos,同样也可以将Wordpress等不同类型的数据库里的文章导入到Memos。

只是思路、仅供参考!

Exit mobile version