介紹
很多網路應用程式開發人員第一個接觸到的網站專案就是部落格系統。而全球使用最廣的Wordpress常常被使用者用來快速建立個人部落格網站。預設情況下,Wordpress一般在後台使用MySQL關係型資料庫儲存所有的部落格文章及回覆。本文將展示如何使用 SequoiaDB 巨杉分散式資料庫取代MySQL,成為Wordpress部落格系統的後台關聯式資料庫。
透過閱讀本文,使用者可以了解如何使用SequoiaDB巨杉資料庫的MySQL實例無縫取代標準MySQL資料庫。 SequoiaDB巨杉資料庫允許使用者在不更改一行程式碼的情況下直接對已有應用程式進行後台MySQL資料庫遷移。
透過使用SequoiaDB巨杉資料庫,使用者可以得到:
水平彈性擴張100%全相容MySQL優秀的交易效能
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
之後一直回車確認各個預設參數即可。
使用資料庫實例使用者建立預設實例
$ sudo su sdbadmin $ /opt/sequoiadb/tools/deploy/quickDeploy
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官網下載頁面
或登入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地址>’ );
创建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
确认表被分散在多个分区
$ /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
通过浏览器登录服务器IP地址
Site Title: SDBWordpress
Username: sequoiadb
Password: sequoiadb
选择Confirm use of weak password
Your Email: test@test.com
点击Install WordPress按键,得到安装成功界面
使用sequoiadb:sequoiadb作为用户名密码登录
更换桌面主题
回到Wordpress博客首页,可以尝试更改博客内容或添加评论
简单编辑文章后
结论
SequoiaDB巨杉数据库作为一款分布式数据库,提供包括结构化SQL、非结构化文件系统和对象存储的机制。
通过SequoiaDB创建的MySQL实例,能够提供与标准MySQL全兼容的SQL与DDL能力,用户无需调整DDL或SQL即可实现无缝透明地访问分布式表结构。
本文向读者展示了如何通过SequoiaDB的MySQL实例,实现与标准MySQL的无缝迁移。通过使用SequoiaDB巨杉数据库,用户可以在满足标准ACID与MySQL协议的基础上,实现近无限的弹性扩展能力。
推荐教程:MySQL视频教程
以上是十分鐘快速建置 Wordpress 部落格系統的詳細內容。更多資訊請關注PHP中文網其他相關文章!