介绍

很多互联网应用程序开发人员第一个接触到的网站项目就是博客系统。而全球使用最广的Wordpress常常被用户用来快速搭建个人博客网站。默认情况下,Wordpress一般在后台使用MySQL关系型数据库存储所有的博文及回复。本文将展示如何使用 SequoiaDB 巨杉分布式数据库替换MySQL,成为Wordpress博客系统的后台关系型数据库。

通过阅读本文,用户可以了解到如何使用SequoiaDB巨杉数据库的MySQL实例无缝替换标准MySQL数据库。SequoiaDB巨杉数据库允许用户在不更改一行代码的情况下直接对已有应用进行后台MySQL数据库迁移。

通过使用SequoiaDB巨杉数据库,用户可以得到:

l  水平弹性扩张

l  100%全兼容MySQL

l  优秀的交易性能

WordPress是使用PHP语言开发的博客平台,用户可以在支持PHP和MySQL数据库的服务器上架设属于自己的网站,也可以把 WordPress当作一个内容管理系统(CMS)来使用。

WordPress有许多第三方开发的免费模板,安装方式简单易用。同时,WordPress官方支持中文版,并拥有成千上万个各式插件和不计其数的主题模板样式。

安装SequoiaDB

本文使用Linux Ubuntu Server 18.10作为服务器,SequoiaDB巨杉数据库版本为3.2.1。

本教程默认使用sudo用户名密码为“sequoiadb:sequoiadb”,默认home路径为/home/sequoiadb。

对于使用CentOS等其他Linux版本的用户,本文所描述的流程可能略有不同,需要根据实际情况自行调整。

1)下载并安装SequoiaDB巨杉数据库

$ wget http://cdn.sequoiadb.com/images/sequoiadb/x86_64/sequoiadb-3.2.1-linux_x86_64.tar.gz

$ tar -zxvf sequoiadb-3.2.1-linux_x86_64.tar.gz

$ cd sequoiadb-3.2.1/

$ sudo ./setup.sh

之后一直回车确认各个默认参数即可。

2) 使用数据库实例用户创建默认实例

$ sudo su sdbadmin

$ /opt/sequoiadb/tools/deploy/quickDeploy.sh

3)连接数据库并开启事务功能并设置默认隔离级别RC

$ /opt/sequoiadb/bin/sdb

> db = new Sdb() ;

> db.updateConf ( { transactionon: true, transisolation: 1 } ) ;

> quit ;

$ /opt/sequoiadb/bin/sdbstop

$ /opt/sequoiadb/bin/sdbstart

安装Apache与PHP

更新系统包并安装Apache与PHP

$ sudo apt-get update

$ sudo apt-get install apache2 php libapache2-mod-php php-mysql unzip php-xml

安装Wordpress

本教程使用Wordpress 5.2.1。

1)登录Wordpress官网下载页面https://wordpress.org/download/releases/

或登录sequoiadb用户,使用wget下载安装包

$ wget https://wordpress.org/wordpress-5.2.1.tar.gz

2)安装Wordpress并配置

$ tar -zxvf wordpress-5.2.1.tar.gz

$ cd wordpress

$ sudo rm /var/www/html/*

$ sudo cp -R * /var/www/html/

$ sudo cp /var/www/html/wp-config-sample.php /var/www/html/wp-config.php

$ sudo chown www-data:www-data /var/www/html/*

3)更改配置文件

$ sudo vi /var/www/html/wp-config.php

define( 'DB_NAME', 'database_name_here' ); 变为  define( 'DB_NAME', 'wordpress’ );

define( 'DB_USER', 'username_here' );      变为  define( 'DB_USER', ‘sequoiadb’ );

define( 'DB_PASSWORD', 'password_here' ); 变为  define( 'DB_PASSWORD', 'sequoiadb' );

define( 'DB_HOST', 'localhost' );           变为  define( 'DB_HOST', ‘<服务器IP地址>’ );

4) 创建Wordpress数据库

$ sudo su sdbadmin

$ /opt/sequoiasql/mysql/bin/mysql -S /opt/sequoiasql/mysql/database/3306/mysqld.sock -u root

mysql> create user 'sequoiadb'@'localhost' identified by 'sequoiadb';

mysql> create database wordpress;

mysql> grant all on wordpress.* to ‘sequoiadb'@’localhost';

mysql> grant all privileges on *.* to 'sequoiadb'@'%' identified by 'sequoiadb' with grant option;

mysql> exit

5) 确认表被分散在多个分区

$ /opt/sequoiadb/bin/sdb

> db=new Sdb() ;

> db.snapshot(SDB_SNAP_CATALOG) ;

……

{

"_id": {

"$oid": "5cecf121116eae6117df17dc"

},

"Name": "wordpress.wp_posts",

"UniqueID": 4294967308,

"Version": 1,

"ReplSize": -1,

"Attribute": 1,

"AttributeDesc": "Compressed",

"CompressionType": 1,

"CompressionTypeDesc": "lzw",

"ShardingKey": {

"ID": 1

},

"EnsureShardingIndex": false,

"ShardingType": "hash",

"Partition": 4096,

"InternalV": 3,

"CataInfo": [

{

"ID": 0,

"GroupID": 1000,

"GroupName": "group1",

"LowBound": {

"": 0

},

"UpBound": {

"": 1365

}

},

{

"ID": 1,

"GroupID": 1001,

"GroupName": "group2",

"LowBound": {

"": 1365

},

"UpBound": {

"": 2730

}

},

{

"ID": 2,

"GroupID": 1002,

"GroupName": "group3",

"LowBound": {

"": 2730

},

"UpBound": {

"": 4096

}

}

],

"AutoSplit": true,

"AutoIncrement": [

{

"SequenceName": "SYS_4294967308_ID_SEQ",

"Field": "ID",

"Generated": "default",

"SequenceID": 11

}

]

}

……

其中针对每个表的CataInfo字段为该表分散在不同分区的一致性散列范围,而分区键则为ShardingKey字段。对于wp_posts来说,其表结构显示数据根据ID字段进行散列切分,数据被打散至集群的三个分区中。

配置Wordpress

1) 通过浏览器登录服务器IP地址

l  Site Title: SDBWordpress

l  Username: sequoiadb

l  Password: sequoiadb

l  选择Confirm use of weak password

l  Your Email: test@test.com

l  点击Install WordPress按键,得到安装成功界面

2) 使用sequoiadb:sequoiadb作为用户名密码登录

3) 更换桌面主题

4) 回到Wordpress博客首页,可以尝试更改博客内容或添加评论

简单编辑文章后

结论

SequoiaDB巨杉数据库作为一款分布式数据库,提供包括结构化SQL、非结构化文件系统和对象存储的机制。

通过SequoiaDB创建的MySQL实例,能够提供与标准MySQL全兼容的SQL与DDL能力,用户无需调整DDL或SQL即可实现无缝透明地访问分布式表结构。

本文向读者展示了如何通过SequoiaDB的MySQL实例,实现与标准MySQL的无缝迁移。通过使用SequoiaDB巨杉数据库,用户可以在满足标准ACID与MySQL协议的基础上,实现近无限的弹性扩展能力。

巨杉Tech | 十分钟快速搭建 Wordpress 博客系统的更多相关文章

  1. Centos 7使用docker部署LAMP搭建wordpress博客系统

    0.简要概述 LAMP是目前比较流行的web框架,即Linux+Apache+Mysql+PHP的网站架构方案.docker是目前非常流行的虚拟化应用容器,可以为任何应用创建一个轻量级.可移植的容器. ...

  2. 用docker快速搭建wordpress博客

      WordPress是一个非常著名的PHP编写的博客平台,发展到目前为止已经形成了一个庞大的网站平台系统.在WP上有规模庞大的插件和主题,可以帮助我们快速建立一个博客甚至网站. 在Windows上可 ...

  3. Docker快速搭建WordPress博客网站

    WordPress WordPress是一个非常著名的PHP编写的博客平台,发展到目前为止已经形成了一个庞大的网站平台系统.在WP上有规模庞大的插件和主题,可以帮助我们快速建立一个博客甚至网站. 在W ...

  4. 快速搭建WordPress博客

    博主在看了朋友的博客后 决定也搭建一个wordPress 博客 思路 1.购买服务器 2.Cenots环境配置 3.安装wordpress 工具 推荐使用 Xshell 6,当然也可以用其他 服务器推 ...

  5. 在centOS上搭建wordpress博客系统

    一.主要内容 1.安装LAMP服务器系统(Linux.Apache.MySQL.PHP ); 2.安装wordpress: 二.具体步骤 一.LAMP环境设置 1.安装LAMP系统,在centOS上可 ...

  6. 使用阿里云 ECS 快速部署 WordPress 博客系统

    今天在 阿里云 ECS上 部署了一套 Lamp 系统,建了一个WordPress的网站,把操作过程记录下来,文中所列脚本可以直接应用. 废话不多说直接开动,ECS云服务购买可以点击 阿里云ECS 云主 ...

  7. Hexo+Git一个小时快速搭建个人博客

    搭建本地环境:Hexo框架 Hexo为何物 Hexo 是一个快速.简洁且高效的博客框架.Hexo 使用Markdown解析文章,并瞬间利用靓丽的主题生成静态网页.其中,Markdown是一个用于将普通 ...

  8. 在GitLab pages上快速搭建Jekyll博客

    前一段时间将我的Jekyll静态博客从github pages镜像部署到了 zeit.co(现vercel)上了一份,最近偶然发现gitlab pages也不错,百度也会正常抓取,于是动手倒腾,将gi ...

  9. 从零到一快速搭建个人博客网站(域名自动跳转www,二级域名使用)(二)

    前言 本篇文章是对上篇文章从零到一快速搭建个人博客网站(域名备案 + https免费证书)(一)的完善,比如域名自动跳转www.二级域名使用等. 域名自动跳转www 这里对上篇域名访问进行优化,首先支 ...

随机推荐

  1. Linux的crontab 命令

    crontab 命令 简介 从输入设备读取指令,并将其存放于 crontab 文件中,以供之后读取和执行,即:crontab 是 Linux 系统中添加计划任务,定时执行一些必要的脚本所必不可少的工具 ...

  2. go 环境及4开发

    国内加速 在gopath目录执行 go env -w GOPROXY=direct go env -w GOSUMDB=off go env -w GOPROXY=https://goproxy.io ...

  3. LeetCode 56. Merge Intervals 合并区间 (C++/Java)

    题目: Given a collection of intervals, merge all overlapping intervals. Example 1: Input: [[1,3],[2,6] ...

  4. 清北学堂—2020.1提高储备营—Day 1 afternoon(二分、分治、贪心)

    qbxt Day 1 afternoon --2020.1.17 济南 主讲:李佳实 目录一览 1.二分法 2.分治 3.贪心 总知识点:基础算法 一.二分法 (1)算法分析:二分法是一种暴力枚举的优 ...

  5. 使用栅格系统和flex布局开发响应式页面源码

    响应式布局的原理xsmall <576pxsmall >=576pxmedium >=768pxlarge >=992pxxlarge >=1200px 接下来是效果图 ...

  6. CSS实现同一行中图片和文本垂直居中

    1.为图片和文本都设置vertical-align:middle

  7. 查看whl包名是否满足系统的条件的命令,以此解决whl包出现“is not a supported wheel on this platform”错误提示的问题

    在Ubuntu系统中,使用pip安装whl包时,常常会报如下错误: tensorflow_gpu-1.11.0-cp35-cp35m-manylinux1_x86_64.whl is not a su ...

  8. 安装Docker到Ubuntu(APT)

    运行环境 系统版本:Ubuntu 16.04.5 LTS 软件版本:Docker-CE-18.09.5 硬件配置:无 安装过程 1.卸载旧版本 root@ubuntu:~# sudo apt-get ...

  9. Qt Gui 第七章

    1.processEvents 该函数用来处理窗口的各种事件,重绘和event ; row < RowCount; ++row) { ; column < ColumnCount; ++c ...

  10. BZOJ3926&&lg3346 ZJOI诸神眷顾的幻想乡(广义后缀自动机)

    BZOJ3926&&lg3346 ZJOI诸神眷顾的幻想乡(广义后缀自动机) 题面 自己找去 HINT 我们可以把题目拆解成几个部分,首先我们手玩一个结论,从所有的叶子节点出发,遍历整 ...