介绍

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

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

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

  1. 水平弹性扩张
  2. 100%全兼容MySQL
  3. 优秀的交易性能

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

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

  1. 使用数据库实例用户创建默认实例

$ 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地址>’ );

  1. 创建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

  1. 确认表被分散在多个分区

$ /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地址

  1. Site Title: SDBWordpress
  2. Username: sequoiadb
  3. Password: sequoiadb
  4. 选择Confirm use of weak password
  5. Your Email: test@test.com
  6. 点击Install WordPress按键,得到安装成功界面

  1. 使用sequoiadb:sequoiadb作为用户名密码登录

  1. 更换桌面主题

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

简单编辑文章后

结论

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

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

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

巨杉Tech | 十分钟快速搭建 Wordpress 博客系统相关推荐

  1. 【FastAPI 03】FastAPI快速搭建一个博客系统

    标题:FastAPI快速搭建一个博客系统 大家好,我是Kuls. 这是<小白学FastAPI>系列的第三篇文章. 今天我们主要讲的是FastAPI快速搭建一个博客系统. 这里可能有些小伙伴 ...

  2. lnmp环境搭建 wordpress 博客系统

    安装编译工具及库文件(使用CentOS yum命令安装) yum install make apr* autoconf automake curl-devel gcc gcc-c++ zlib-dev ...

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

    购买VPS后,很多人都会选择自己搭建一个网站,其中使用LAMP+wordpress可以说是最简单的建站方案,下面我就将详细介绍一下具体的建站过程.我使用的是阿里云的服务器,系统是centOS6.5,使 ...

  4. docker 启动mysql root用户_Docker-Compose搭建Wordpress博客系统

    环境:  CentOS 7.5  Docker 20.10.2  Docker-Compose 1.25.5 [root@localhost ~]# cat /etc/redhat-releaseCe ...

  5. 快速搭建个人博客系统

    1.在万网上购买域名,目前购买了两个:sringcome.com.cn和springcome.org.cn的域名购买之后需要上传身份证照片备案,审核通过大概需要两三个工作日,比较麻烦,所以不到万不得已 ...

  6. 阿里云上基于WordPress快速搭建个人博客

    阿里云上基于WordPress快速搭建个人博客 文章目录 阿里云上基于WordPress快速搭建个人博客 一.服务器环境: 二.环境部署: 1.重置实例密码 2.链接ECS服务器 3.安装Apache ...

  7. Linux一键部署duckchat,DuckChat 1.0.7发布,十分钟快速搭建聊天系统

    DuckChat 1.0.7发布,十分钟快速搭建聊天系统 2018年09月28日 11:55作者:黄页编辑:黄页 分享 DuckChat是一款安全的私有聊天软件,基于PHP环境,可运行在Docker. ...

  8. 【Microsoft Azure 的1024种玩法】七十一.基于Azure Virtual Machines快速上手搭建Typecho博客系统

    [简介] Typecho 是基于 PHP5 构建的开源跨平台博客系统,Typecho开源跨平台博客系统相较于wordpress .hexo有一定的性能优势,是我们记录文章内容的最佳首选博客,那么本篇文 ...

  9. 宝塔php安装那个合_通过宝塔面板一键搭建wordpress博客

    上篇文章: 雪影IP工作室:linux服务器搭建宝塔最全教程​zhuanlan.zhihu.com 一.前言 hello,欢迎大家观看本次教程,博主在这里教程大家怎么使用宝塔一键搭建wordpress ...

最新文章

  1. zabbix 之 orabbix安装指导
  2. Windows server 2016 添加盘符为D盘的数据盘
  3. 上海启动5G试用!104页PPT,为你深度解析5G终端的创新和机遇
  4. 浅谈输入输出”重定向“——基于Linux系统
  5. 【小夕精选】如何优雅而时髦的解决不均衡分类问题
  6. 文档处理工具库——Apache POI的使用
  7. word-wrap、word-break、white-space
  8. linux编译安装mysql的意思,linux编译模式安装mysql 步骤说明
  9. SOTIF很快将会取代ISO 26262?为您详细解读SOTIF标准ISO/PAS 21448
  10. 推荐 四种优秀的数据库设计工具
  11. c语言回溯算法数独,数独回溯算法
  12. Everything必知必会搜索教程
  13. matlab get(gcf,'postion ')相关解释
  14. 【AI数学原理】函数求导(精髓篇)
  15. Caused by: java.lang.NoSuchMethodError: redis.clients.jedis.JedisPool.init(Lorg/apache/commons/poo
  16. 明朝那些事 当年明月
  17. 8266+DS3231时钟之显示TM1638的使用【四】上
  18. 资质认证|棱镜七彩成功通过CMMI 3级认证,研发能力获国际权威机构认可!
  19. Linux常见权限处理、文件搜索、帮助、压缩命令
  20. 模拟电路笔记(二)晶体三极管及放大电路

热门文章

  1. linux 文件系统挂载时挂载点(目录)的选择
  2. PIE-Engine 教程:水稻面积提取2—监督分类(宿迁市)
  3. 5G开启运营商无限流量大战,WiFi未来会消失吗?
  4. ofo该何去何从?投入阿里的怀抱还是腾讯?
  5. GUI 图形用户界面编程(八)选择界面-当女友穿上女仆装,你是选择接着改bug还是要去......
  6. 8104网站端服务器返回错误,Catalyst 9800无线控制器普通的无线客户端连通性问题...
  7. Latex插入图片却不显示问题小结
  8. 使用emscripten编译WebAssembly
  9. 水处理行业必看:盐湖卤水中分离硼的工艺盘点
  10. 3.2 使用STC89C52控制MC20发送短信