🌞晴天...ζ

Come On...

Typecho 将MySQL数据库切换为SQLite数据库

最初Typecho博客使用的是默认的MySQL数据库,后来看到支持SQLite数据库,就想着切换成SQLite,毕竟个人对性能什么的都没什么要求,主要是SQLite数据库是单文件,备份起来很方便。但是官方没有给出解决办法,于是在网上搜索一番之后,终于切换成功,流程如下:

一、MysqlToSqlite

首先安装MysqlToSqlite 这个软件,顾名思义,就是将MySQL数据库导出到SQLite数据库。
通过 MysqlToSqlite 连接到MySQL数据库,然后使用Import导出所有数据到SQLite数据库,这里假设新生成的SQLite数据库为data.db

二、新安装Typecho

删除或者改名博客根目录下的config.inc.php文件,然后打开博客的链接,
此时Typecho会执行初始化安装,在安装的时候选择数据库类型为SQLite,安装完以后,系统会在usr目录下生成系统新建的SQLite数据库,假设这个SQLite数据库为 new.db

三、导入导出数据

修改 config.inc.php文件,将连接的数据库改为data.db,然后,登录到博客系统,使用Typecho自带的导出数据工具,将博客的内容全部导出。
然后修改 config.inc.php文件,将连接的数据库改回new.db,登录到博客系统,使用Typecho自带的导入数据工具,将上一步生成的文件导入到博客。

经过上面几部后,博客的数据库就由MySQL切换为SQLite了

一些踩到的坑

为什么不直接使用data.db?

直接连接到data.db这个有数据的SQLite,博客是可以正常打开的,但是无法新增文章,新增会报错 Database Query Error 错误,具体的原因未知,据说是文章的cid无法自增。

所以只能通过初始化安装Typecho,获得系统生成的SQLite数据库文件,才能正常新增文章。

为什么不通过数据库工具将data.db里面的数据导出到 new.db

尝试过了,失败了,可能的原因是原来MySQL里的字段属性与SQLite里有差异,还有一个原因就是原来的表里面的字段会多余系统生成的,没法成功导入。。。
通过系统的导入导出工具,只导出内容,就容易一些。
但是设置没有导过来,需要重新设置一下!!!

.htaccess永久链接设置

<IfModule mod_rewrite.c>
RewriteEngine On
# 下面是在根目录,文件夹要修改路径
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/$1 [L]
</IfModule>

参考:https://veimoz.com/859

Typecho更换字体插件FontLibs

https://www.xxhzm.cn/archives/724/?replyTo=448

电子书资源
快来做第一个评论的人吧~