不少互联网应用程序开发人员第一个接触到的网站项目就是博客系统。而全球使用最广的Wordpress经常被用户用来快速搭建我的博客网站。默认状况下,Wordpress通常在后台使用MySQL关系型数据库存储全部的博文及回复。本文将展现如何使用 SequoiaDB 巨杉分布式数据库替换MySQL,成为Wordpress博客系统的后台关系型数据库。php
经过阅读本文,用户能够了解到如何使用SequoiaDB巨杉数据库的MySQL实例无缝替换标准MySQL数据库。SequoiaDB巨杉数据库容许用户在不更改一行代码的状况下直接对已有应用进行后台MySQL数据库迁移。html
经过使用SequoiaDB巨杉数据库,用户能够获得:mysql
l 水平弹性扩张linux
l 100%全兼容MySQLsql
l 优秀的交易性能数据库
WordPress是使用PHP语言开发的博客平台,用户能够在支持PHP和MySQL数据库的服务器上架设属于本身的网站,也能够把 WordPress看成一个内容管理系统(CMS)来使用。apache
WordPress有许多第三方开发的免费模板,安装方式简单易用。同时,WordPress官方支持中文版,并拥有成千上万个各式插件和不可胜数的主题模板样式。浏览器
本文使用Linux Ubuntu Server 18.10做为服务器,SequoiaDB巨杉数据库版本为3.2.1。服务器
本教程默认使用sudo用户名密码为“sequoiadb:sequoiadb”,默认home路径为/home/sequoiadb。分布式
对于使用CentOS等其余Linux版本的用户,本文所描述的流程可能略有不一样,须要根据实际状况自行调整。
1)下载并安装SequoiaDB巨杉数据库
$ wget cdn.sequoiadb.com/images/sequ… $ 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
$ sudo apt-get update $ sudo apt-get install apache2 php libapache2-mod-php php-mysql unzip php-xml |
本教程使用Wordpress 5.2.1。
1)登陆Wordpress官网下载页面wordpress.org/download/re…
或登陆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字段进行散列切分,数据被打散至集群的三个分区中。
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协议的基础上,实现近无限的弹性扩展能力。