TYPECHO WIKI
每一个作品都值得被记录

Typecho 数据库从 Sqlite 转为 Mysql

Typecho维基君Typecho教程 • 1685次浏览 • 发布 2022-04-17 • 更新 2022-04-17

前言

据我所知,使用Mysql的人比较多,很多插件支持Mysql但不支持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);
广告声明:文内含有的对外跳转链接(包括不限于超链接、二维码、口令等形式),用于传递更多信息,节省甄选时间,结果仅供参考,Typecho.Wiki所有文章均包含本声明。
厂商投放

【腾讯云】🎉五一云上盛惠!云服务器99元/月续费同价!

腾讯云五一劳动节海量产品 · 轻松上云!云服务器首年1.8折起,买1年送3个月!超值优惠,性能稳定,让您的云端之旅更加畅享。快来腾讯云选购吧!

广告
添加新评论 »