Typecho 开源轻量级博客系统拥有同 WordPress 一样的主题插件二次开发等一系列优点,但相比于 WordPress 笨重复杂的操作,Typecho 赢得了很多博客站长朋友的青睐。Typecho 支持两种数据库存储类型: MySQL 和 SQLite ,但 SQLite 数据库毕竟是单文件存储、适用于单机应用,对于访问量比较大的情况用 Mysql 性能方面会比较好。如果 Typecho 一开始使用的是 SQLite 数据库,那么怎么切换成 Mysql 数据库,并对数据进行迁移呢?本文就如何将 Typecho 旧的 SQLite 数据库迁移到 MySQL 数据库(MySQL切换到SQLite同理)。
使用工具:
Navicat Premium 是一个可多重连接的数据库管理工具,它可让你以单一程序同时连接到 MySQL、Oracle、PostgreSQL、SQLite 及 SQL Server 数据库,让管理不同类型的数据库更加方便。Navicat Premium 很强悍的一个功能是支持 MySQL、Oracle、PostgreSQL、SQLite 及 SQL Server 之间的传输数据。
操作步骤:
1、数据库切换
我们实现数据库切换,一是把 SQLite 数据库表结构和数据转移到 MySQL 数据库里、二是要修改 Typecho 的配置文件为 Mysql 连接方式。
1.1、首先用 Navicat Premium 打开/usr目录下的SQLite数据库(*.db)和localhost Mysql数据库连接。右击SQLite数据库选择"数据传输"。
1.2、选择源为 SQLite 连接及其数据库,目标为 MySQL 连接及其数据库。点击开始即可完成数据迁移传输。
1.3、 修改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);