热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

【本文出处:http:blog.csdn.netleyttonarticledetails71257981】(本科水平,写得不好请不吝指点)ⅠAbstractTypecho

【本文出处: http://blog.csdn.net/leytton/article/details/71257981

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

Ⅰ 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,妈妈说看文章要养成点赞的好习惯哦~(这里要特别划重点,考试肯定会考的大笑)




推荐阅读
  • 本文详细介绍如何在忘记MySQL服务器密码的情况下进行密码重置,包括具体的步骤和注意事项。 ... [详细]
  • 解决MySQL Administrator 登录失败问题
    本文提供了解决在使用MySQL Administrator时遇到的登录错误的方法,包括启动变量和服务部分禁用的问题。同时,文章还介绍了通过安全配置模式来解决问题的具体步骤。 ... [详细]
  • Linux环境下的PHP7安装与配置指南
    本文详细介绍了如何在Linux操作系统中安装和配置PHP7,包括检查当前PHP版本、升级PHP以及配置MySQL支持等步骤,适合后端开发者参考。 ... [详细]
  • 华为云openEuler环境下的Web应用部署实践
    本文详细记录了在华为云openEuler系统上进行Web应用部署的具体步骤,包括配置yum源、安装Apache、MariaDB、PHP及其相关组件,并完成WordPress的安装与配置过程。 ... [详细]
  • 本文提供了处理WordPress网站中出现过多重定向问题的方法,包括检查DNS配置、安装SSL证书以及解决数据库连接错误等步骤。 ... [详细]
  • 搭建个人博客:WordPress安装详解
    计划建立个人博客来分享生活与工作的见解和经验,选择WordPress是因为它专为博客设计,功能强大且易于使用。 ... [详细]
  • 本文探讨了一种方法,通过开发C#应用程序来拦截并处理从遗留系统发出的Http请求,该系统原本依赖于已停止服务的Web服务。解决方案涉及使用代理技术或HTTP监听器来捕获和重定向这些请求。 ... [详细]
  • 本文详细介绍了使用Apache的AB工具和Webbench进行服务器性能测试的过程,分享了实际操作中的测试结果,并探讨了测试过程中遇到的问题及可能的解决方案。 ... [详细]
  • 本文提供了详细的指导,帮助开发者了解如何使用PHP插件进行网站内容的翻译,特别是针对WordPress插件和主题的汉化及多语言支持。 ... [详细]
  • Apollo入门指南
    Apollo是一个分布式配置中心,由服务端和客户端组成,支持配置的集中管理和动态更新。 ... [详细]
  • 本文详细介绍了如何使用Linux下的mysqlshow命令来查询MySQL数据库的相关信息,包括数据库、表以及字段的详情。通过本文的学习,读者可以掌握mysqlshow命令的基本语法及其常用选项。 ... [详细]
  • 2023年1月28日网络安全热点
    涵盖最新的网络安全动态,包括OpenSSH和WordPress的安全更新、VirtualBox提权漏洞、以及谷歌推出的新证书验证机制等内容。 ... [详细]
  • 在Ubuntu 16.10 (x86) 上安装 WordPress 4.7.115
    本文介绍如何在Ubuntu 16.10 (x86) 系统上安装WordPress 4.7.115,包括下载、解压、配置等步骤,确保安装过程顺利进行。 ... [详细]
  • 使用 jQuery 实现页面加载进度条
    页面加载进度条是提升用户体验的重要工具,通过在页面头部显示一个加载状态,并在页面完全加载后隐藏,可以有效减少用户的等待焦虑。本文将详细介绍如何使用 jQuery 实现这一功能。 ... [详细]
  • oracle 对硬件环境要求,Oracle 10G数据库软硬件环境的要求 ... [详细]
author-avatar
革斤Hero_394
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有