前言

据我所知,使用Mysql的人比较多,很多插件支持Mysql但不支持SQlite,这就是我更换的原因

Sqlite优缺点分析

SQLite 的优点在中小网站CMS应用场景下表现突出:


1、与MySQL相比,它更彻底的免费,并且没有任何使用上的限制

2、非常小巧,PHP5以上版本中无需任何配置即可支持SQLite

3、无需单独购买数据库服务,无服务器进程,配置成本为零

4、整个数据库存储在一个单个的文件中,数据导入导出备份恢复都是复制文件,维护难度为零

5、读速度快,在数据量不是很大的情况下速度较快,更重要的是:省掉了一次数据库远程链接没有复杂的权限验证,打开就能操作

SQLite的缺点在中小网站 CMS 应用场景下被规避:

1、并发低 动态访问时当访问量不超过10万PV的时候,SQLite 超过 Access 的并发能力已经绰绰有余;生成静态页后更无需考虑数据库的并发问题
2、在大数据量的情况下表现较差 但是中小站点一般情况下数据量不超过10万,而SQlite 在 100 万数据量之下表现还不错,因为省掉了对数据库服务器的远程连接甚至会更快
3、写入较慢 默认配置下的 SQlite 的写入速度比MySQL慢了很多,但是 CMS 应用场景的写入操作较少。在插入新文章的时候基本感受不到慢。集中的写数据库操作只有在安装的时候会出现,不过只出现一次,可以忽略
4、为已有的表加索引较慢 但是在中小站点CMS中不会有这样的需求,可以忽略
5、无法将 MySQL 部署到与前端机不同的服务器上,但是中小站点也没有分开部署的需求

请先看完上面再决定你是否要更换

1.第一步,下载SqliteToMysql,收费软件,但是免费可以试用30天,够用了
这里是官网连接https://withdata.com/sqlitetomysql/
2.在你的本地mysql(建议使用Navicat——Mysql连接软件,不知道就百度)建立一个空表名为Typecho,后面要用。
3.打开SqliteToMysql软件,然后连接上你的.db文件(也就是Typecho里面的Sqlite数据文件),连接上你本地的Mysql,点ok

Sqlite连接图
Mysql连接图
4.点OK之后,会弹出让你选择的界面,点Wizard下面的Import All Tables

5.勾选全部表,一路Next,完成之后关闭就行

转换完成图


更换Typecho数据库

修改Typecho的配置文件config.inc.php

原来SQLite数据库配置为:

/** 定义数据库参数 */
$db = new Typecho_Db('Pdo_SQLite', 'lqw_');
$db->addServer(array (
'file' => 'G:/H5App/Web/blog/usr/58e7333c9a480.db',
), Typecho_Db::READ | Typecho_Db::WRITE);
Typecho_Db::set($db);

修改成Mysql数据库配置:

/** 定义数据库参数 */
$db = new Typecho_Db('Mysql', 'lqw_');
$db->addServer(array (
  'host' => 'localhost',
  'user' => 'root',
  'password' => 'root',
  'charset' => 'utf8',
  'port' => '3306',
  'database' => 'typecho',
), Typecho_Db::READ | Typecho_Db::WRITE);
Typecho_Db::set($db);

尾记

部分内容来源:

https://www.cnblogs.com/zgq123456/p/10129052.html
https://blog.csdn.net/weixin_30629977/article/details/98990497

最后修改:2023 年 03 月 20 日 12 : 58 PM
如果觉得此文章有用,请随意打赏