Typecho SQLite与MySQL的数据库切换?‍?

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数据库选择"数据传输"。

Typecho SQLite与MySQL的数据库切换

1.2、选择源为 SQLite 连接及其数据库,目标为 MySQL 连接及其数据库。点击开始即可完成数据迁移传输。

Typecho 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);  
Updated: 16/05/2018 — 13:16

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注