Typecho SQLite与MySQL的数据库切换及解决MySQL连接打开缓慢问题

Typecho SQLite与MySQL的数据库切换及解决MySQL连接打开缓慢问题,第1张

概述【本文出处: http://blog.csdn.net/leytton/article/details/71257981】 (本科水平,写得不好请不吝指点) Ⅰ Abstract Typecho开源轻量级博客系统拥有WordPress主题插件二次开发等一系列优点,但相比于WordPress笨重复杂的 *** 作,Typecho赢得了很多博客站长朋友的青睐。Typecho支持两种数据库存储类型:MySQL和

【本文出处:http://www.jb51.cc/article/p-hgdsstob-bmp.html

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

Ⅰ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)和localhostMysqL数据库连接。右击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,妈妈说看文章要养成点赞的好习惯哦~(这里要特别划重点,考试肯定会考的)

总结

以上是内存溢出为你收集整理的Typecho SQLite与MySQL的数据库切换及解决MySQL连接打开缓慢问题全部内容,希望文章能够帮你解决Typecho SQLite与MySQL的数据库切换及解决MySQL连接打开缓慢问题所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1163522.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存