文档章节

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

巨杉数据库
 巨杉数据库
发布于 06/05 21:41
字数 1313
阅读 21
收藏 0

介绍

很多互联网应用程序开发人员第一个接触到的网站项目就是博客系统。而全球使用最广的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协议的基础上,实现近无限的弹性扩展能力。

© 著作权归作者所有

巨杉数据库
粉丝 54
博文 97
码字总数 197171
作品 1
朝阳
数据库管理员
私信 提问
国产数据库崛起 Gartner!

近期,Gartner陆续发布了2018年的数据库系列报告,包括《数据库魔力象限》《数据库核心能力》以及《数据库推荐报告》。 今年系列报告对于数据库产品的观点主要有以下几点: 在今年的数据库系...

CSDN资讯
2018/11/16
0
0
码云 GVP 项目 SequoiaDB 完成 C 轮数千万美元融资

业界领先的金融级分布式数据库公司,巨杉数据库近日宣布完成由嘉实投资领投的C轮融资。本轮的领投方为嘉实投资,启明创投与DCM作为早期投资方跟投。 SequoiaDB巨杉数据库成立6年来一直坚持技...

达尔文
2018/09/18
2.1K
6
巨杉数据库完成C轮数千万美元融资

业界领先的金融级分布式数据库公司,巨杉数据库近日宣布完成由嘉实投资领投的C轮融资。本轮的领投方为嘉实投资,启明创投与DCM作为早期投资方跟投。 SequoiaDB巨杉数据库成立6年来一直坚持技...

巨杉数据库
2018/09/18
0
0
快速在本地搭建 WordPress 博客环境

前言 WordPress 是互联网上最流行的博客系统,全球有四分之一的网站是使用 WordPress 搭建的。而且其本身对 SEO 十分友好,十分受用户欢迎。 我们都知道,WordPress 通常搭建在服务器上,本地...

己立
2017/12/28
0
0
【开源访谈】SequoiaDB 技术总监郝大为谈分布式数据库对非结构化数据管理和应用

SequoiaDB 巨杉数据库,是一款面向企业级的分布式 NewSQL 数据库,自主研发并拥有完全自主知识产权,没有基于任何其他外部的开源数据库源代码。作为国内第一款完全自主研发,后又选择开源的商...

OSC源创君
2017/02/28
2.3K
4

没有更多内容

加载失败,请刷新页面

加载更多

Linux使用源码包安装软件

前言: 最近整理一些以前的学习笔记。 过去都是存储在本地,此次传到网络留待备用。 源码包 Linux软件多数免费、开源,是开发人员编写的,具有很强可读性的一组相关代码文本。 源码包 --> 编...

迷失De挣扎
今天
2
0
IPv4如何转换为IPv6?

ipv6已经逐渐在应用,现在已经有很多的运营商支持ipv6,前天我们也发布了如何让电脑使用ipv6地址?有很多朋友在问?ipv6有什么作用,它的表示方式是什么,今天我们来一起来详细了解下ipv6相关计...

xiangyunyan
今天
3
0
小白讲网络安全系列

注入攻击防护 XSS注入 SQL注入 命令注入 文件上传 文件解压缩 CSRF防护 对称加密 非对称加密 数字证书 数字签名 完整性校验 消息验证码 单向散列Hash函数 口令单向加密算法 审计日志 认证鉴权...

一刀
今天
2
0
MYSQL 嵌套事务(SAVEPOINT) 与Spring 事务传播

摘要 savepoint 关键字可以实现嵌套事务。结合savepoint关键字,更方便理解spring的事务传播。 事务嵌套 初始化表脚本 drop table t;create table t(a int, primary key(a)); 开启事务 my...

liangxiao
今天
4
0
Chrome OS 更新新版本可让Linux访问USB连接的Android设备

谷歌再次为Chrome OS带来了重大版本更新,使版本号达到了75。本次更新的一大亮点就是允许在Chrome OS上运行的Linux能够识别通过USB方式连接的Android设备,能够让用户使用Linux进行调试等等。...

linuxCool
昨天
16
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部