(本科水平,写得不好请不吝指点

)

Ⅰ Abstract

Typecho开源轻量级博客系统拥有WordPress主题插件二次开发等一系列优点,但相比于WordPress笨重复杂的操作,Typecho赢得了很多博客站长朋友的青睐。Typecho支持两种数据库存储类型:MySQL和SQLite,但SQLite数据库毕竟是单文件存储、适用于单机应用,对于访问量比较大的情况用Mysql性能方面会比较好。如果Typecho一开始使用的是SQLite数据库,那么怎么切换成Mysql数据库,并对数据进行迁移呢?本文就如何将Typecho旧的SQLite数据库迁移到MySQL数据库和迁移到MySQL数据库中遇到的页面响应缓慢提出了解决方案。(MySQL切换到SQLite同理)

Ⅱ Introduction

Navicat Premium(共享软件仅供交流与学习^_^)是一个可多重连接的数据库管理工具,它可让你以单一程序同时连接到 MySQL、Oracle、PostgreSQL、SQLite 及 SQL Server 数据库,让管理不同类型的数据库更加方便。Navicat Premium 很强悍的一个功能是支持 MySQL、Oracle、PostgreSQL、SQLite 及 SQL Server 之间的传输数据。(这里划重点,考试要考的

)

Ⅲ  Experiments

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

OK、数据显示正常,大功告成~~~~~ jio多吗得(dei)!怎么访问速度变慢了?!

2、解决MySQL连接打开缓慢问题

MySQL数据库收到一个网络连接后,首先拿到对方的IP地址,然后对这个IP地址进行反向DNS解析从而得到这个IP地址对应的主机名。用主机名在权限系统里面进行权限判断。反向DNS解析是耗费时间的,有可能让用户感觉起来很慢。甚至有的时候,反向解析出来的主机名并没有指向这个IP地址,这时候就无法连接成功了。

为了避免这个反查过程,可以在MySQL的配置文件my.cnf(my.ini)的[mysqld]项下追加以下配置:

[mysqld]

skip-name-resolve就能禁用DNS解析,连接速度会快很多。不过,这样的话就不能在MySQL的授权表中使用主机名了而只能用ip格式。Typecho的配置文件改成'host' => '127.0.0.1'。

若使用–skip-grant-tables系统将对任何用户的访问不做任何访问控制,但可以用 mysqladmin flush-privileges或mysqladmin reload来开启访问控制;默认情况是show databases语句对所有用户开放,    如果mysql服务器没有开远程帐户,就在my.ini里面加上skip-grant-tables

OK、Cheers~

Ⅳ Conclusion

1、切换成Mysql数据库我们就可以主从热备分布式各种秀操作啦

2、mysql的DNS反向解析会导致数据库连接速度变慢(其实这是通病,跟Typecho没太大关系啦,只是碰到了就一起记录吧 囧rz=З)

Ⅵ References

1、http://blog.chinaunix.net/uid-20788470-id-3118262.html

2、http://blog.csdn.net/diaorenxiang/article/details/43955931

3、http://www.zzfly.net/typecho-from-mysql-to-sqlite/

4、https://sanwen8.cn/p/178fXaj.html

5、http://www.3987.com/xiazai/3/97/9487.html

Ⅶ Others

1、感谢Typeacho

2、感谢CSDN

3、感谢CCTV

4、...

Finally,妈妈说看文章要养成点赞的好习惯哦~(这里要特别划重点,考试肯定会考的

)

typechoSQLIte转MySQL_Typecho SQLite与MySQL的数据库切换及解决MySQL连接打开缓慢问题相关推荐

  1. navicat无法连接远程mysql数据库_[数据库]Navicat Premium 解决无法连接远程mysql数据库问题...

    [数据库]Navicat Premium 解决无法连接远程mysql数据库问题 0 2018-07-18 00:00:15 问题原因 :  第一点 远程服务器数据库没有授权 第二点 远程连接数据库的端 ...

  2. mysql导入数据库报错解决方式

    mysql导入数据库报错解决方式 一.工具导入sql报错 1.一般导入都是使用工具进行导入,但是在导入时候可能会报错,导致导入失败.如下: 2.经过在网上查询,换了几种方式都没有解决. 3.后来和开发 ...

  3. mysql占用多少内存_解决mySQL占用内存超大问题

    解决mySQL占用内存超大问题 解决mySQL占用内存超大问题 为了装mysql环境测试,装上后发现启动后mysql占用了很大的虚拟内存,达8百多兆.网上搜索了一下,得到高人指点my.ini.再也没见 ...

  4. mysql unrecognized_service mysql start出错,mysql启动不了,解决mysql: unrecognized service错误...

    service mysql start出错,mysql启动不了,解决mysql: unrecognized service错误的方法如下: [root@ctohome.com ~]# service ...

  5. mysql 授权 失败_完美解决mysql客户端授权后连接失败的问题

    在本地(192.168.1.152)部署好mysql环境,授权远程客户机192.168.1.%连接本机的mysql,在iptables防火墙也已开通3306端口. 如下: mysql> sele ...

  6. MySQL新建数据库+用Navicat查看MySQL的方法

    MySQL新建数据库 数据库启动有问题的,见本人另外一篇博客:启动MySQL:net start mysql出现问题+本地Mysql忘记密码的修改方法 目前的用户名和密码都是root(因为好记!) 打 ...

  7. mysql主从数据库含义_(转)Mysql数据库主从心得整理

    管理mysql主从有2年多了,管理过200多组mysql主从,几乎涉及到各个版本的主从,本博文属于总结性的,有一部分是摘自网络,大部分是根据自己管理的心得和经验所写,整理了一下,分享给各位同行,希望对 ...

  8. linux mysql设置数据库utf_Linux系统下MySQL数据库服务器字符集设置

    Linux认证考试:Linux系统下的MySQL数据库服务器字符集设置 启动MySQL后,以root登录mysql isher@isher-ubuntu:~$ mysql -u root >sh ...

  9. mysql主从数据库怎么还口令,mysql数据库主从同步方法讲解

    在两台服务器上安装mysql(版本必须一致) 我的要同步的两台mysql数据库版本都是mysql5.5 主:192.168.2.135 端口号:3306 从:192.168.2.35 端口号:3306 ...

最新文章

  1. 使用API​​身份验证的Spring Security
  2. 远程连接本地mongodb 数据库
  3. 干货|一文读懂阿里云数据库Autoscaling是如何工作的
  4. php study是什么,phpstudy与wamp区别的区别是什么?
  5. Nginx学习总结(8)——Nginx服务器详解
  6. 利用函数指针实现累加
  7. alpha-beta 极大极小值剪枝算法
  8. NetBeans IDE使用方法
  9. 软件架构——系统分析员、系统架构师、项目经理的区别
  10. 常用的common function库(三)
  11. 实时vad(替换webrtcvad)
  12. jsv8引擎 垃圾回收机制
  13. 【K哥爬虫普法】百度、360八年乱战,robots 协议之战终落幕
  14. Python+Vue计算机毕业设计“爱尚”农产品销售平台的设计与实现3fuz0(程序+LW+源码+部署)
  15. c盘内存不足怎么清理(如何清理电脑c盘空间)
  16. 上可以替代mobaxterm_电能替代 | 基于逻辑回归模型的电能替代用户辨识研究
  17. STM32传感器外设集--语音模块(SYN6288)
  18. AAC转MP3怎么用音频转换器转换
  19. 模拟斗地主洗牌及发牌
  20. 【转】AWS s3 V4签名算法

热门文章

  1. 腾讯回应两块八卖《鬼谷八荒》:已下架并退款;iMac Pro 售完即停产;iCloud 识别姓氏闹乌龙 | 极客头条...
  2. 面试官问:在读多写少的情况下,如何优化 MySQL 的数据查询方案
  3. 抖音否认封杀腾讯;程序员拒绝带电脑回家被开除,获赔 19.4 万;Excel 具备图灵完备性 | 极客头条...
  4. Deno 冲上榜首,Vue.js 首次屈居第二,JavaScript 2020 年度“新起之秀”都有谁?
  5. 揭秘 AWS 基础架构底层运维和构建之道!
  6. 电磁感应理论之父,法拉第传奇
  7. 世上最杰出程序员,B 语言、Unix 之父为玩游戏,写了个操作系统
  8. ​“国产”AI框架争相开源,“领头羊”百度飞桨将扔重磅炸弹?
  9. Rust 多久更新一次?
  10. 【正在直播】:CSDN直播间专属福利!1399买Airpods Pro