Typecho 数据库从 Sqlite 转为 Mysql教程

前言

据我所知,使用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/(链接已变)

这里是官网连接:https://withdata.com/db-copier/index.html

注意:免费版只能转换100条数据,哭晕,目前还没找到可替代的解决方案
2.在你的本地mysql(建议使用Navicat——Mysql连接软件,不知道就百度)建立一个空表名为Typecho,后面要用。
3.打开SqliteToMysql软件,然后连接上你的.db文件(也就是Typecho里面的Sqlite数据文件),连接上你本地的Mysql,点ok

Typecho 数据库从 Sqlite 转为 Mysql教程

Typecho 数据库从 Sqlite 转为 Mysql教程

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

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

Typecho 数据库从 Sqlite 转为 Mysql教程

更换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);

替换完后,如果文章页面打开显示404 not found,请根据下面这篇文章的教程设置伪静态

Typecho伪静态的设置教程(Linux和windows)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

给TA打赏
共{{data.count}}人
人已打赏
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索