实验环境

以下配置都是建立在mariadb主从没有问题的情况下:

.三台主机:
在三台机器/etc/hosts添加以下3条主机信息(mycat和wordpress在一台机器上面)
mycat:192.168.254.24
hostM1:192.168.254.28
hostS1:192.168.254.29
.需要安装java1.8版本或以上
3.wordpress需要5.6版本以上的php,你下载5.4的也没有关系,后面我会告诉大家怎么去修改
.下载mycat源码包
()wget http://dl.mycat.io/1.6-RELEASE/Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz
()tar -zxvf Mycat-server-1.6-RELEASE--linux.tar.gz
()mv mycat /usr/local/

实验架构

mycat配置

vim /usr/local/mycat/conf/server.xml设置如下参数

<user name="testuser1">
<property name="password">testuser1</property>
<property name="schemas">testdb,testdb1</property>
</user>
<user name="testuser2">
<property name="password">testuser2</property>
<property name="schemas">testdb,testdb1</property>
<property name="readOnly">true</property>
</user> #testuser1用来写的用户
#testuser2用来读的用户
#testdb是mycat是逻辑库

vim /usr/local/mycat/conf/schema.xml配置(请先备份cp schema.xml schema.xml.bak,然后把schema.xml文件清空,粘贴以下内容)

<?xml version="1.0"?>
<!DOCTYPE mycat:schema SYSTEM "schema.dtd">
<mycat:schema xmlns:mycat="http://io.mycat/">
<schema name="testdb" checkSQLschema="false" sqlMaxLimit="1000" dataNode="dn1">
</schema>
<schema name="testdb1" checkSQLschema="false" sqlMaxLimit="1000" dataNode="dn2">
</schema> <dataNode name="dn1" dataHost="hostM1" database="test" />
<dataNode name="dn2" dataHost="hostM1" database="test1" />
<dataHost name="hostM1" maxCon="2000" minCon="1" balance="1" writeType="1" dbType="mysql" dbDriver="native" switchType=
"1" slaveThreshold="100">
<heartbeat>select user()</heartbeat>
<writeHost host="hostM1" url="192.168.254.28:3306" user="testuser1" password="testuser1">
<readHost host="hostS1" url="192.168.254.29:3306" user="testuser2" password="testuser2" />
</writeHost>
</dataHost>
</mycat:schema>

server.xml和schema.xml标绿色处要一致,都是逻辑库,我这里创建了2个逻辑库

dataHost为数据节点名称,database为真实数据库名称即后台数据库test和test1

balance:

0表示不开启读写分离,都在master上执行读写操作

1表示都参与select

2表示所有读请求随机在readhost和writehost分担

3表示所有读请求对应到readhost里去

writeType

0,所有写操作发送到配置的第一个writeHost

1,所有写操作都随机的发送到配置的writeHost

2,不执行写操作。

switchType

-1,不自动切换

1,默认值,自动切换

2,基于MySQL 主从同步的状态决定是否切换

3,基于MySQL galary cluster的切换机制(适合集群)(1.4.1),心跳语句为 show status like &lsquo;wsrep%&rsquo;

writeHost和readHost分别配置对应后台的mysql主从真实用户密码

创建用户并赋予权限(主创建同步到从)

grant all on *.* to testuser1@'%' identified by 'testuser1';
grant all on *.* to testuser2@'%' identified by 'testuser2';

启动mycat服务并查看端口

/usr/local/mycat/bin/mycat start

8066是管理端口

9066是连接后端数据库的端口,默认是9066,登录该端口后直接用show @@datasource;语句即可查询主从库的读写状态

mysql -h 192.168.254.24 -P8066 -utestuser1 -ptestuser1    (可以执行增删改查)

mysql -h 192.168.254.24 -P9066 -utestuser1 -ptestuser1     (可以查看节点状态)

查看心跳状态

show @@heartbeat\G

#查看前端连接状态

show @@connection\G

#查看后端状态

show @@backend\G

#查看数据库资源状态

show @@datasource

搭建wordpress

下载wordpress安装包

[root@localhost ~]# wget https://cn.wordpress.org/latest-zh_CN.zip
[root@localhost ~]# unzip latest-zh_CN.zip
[root@localhost ~]# cp -a wordpress/ /var/www/html/

把请求php的版本调到5.4.0

 [root@localhost html]# vim wordpress/wp-includes/version.php
$required_php_version = '5.4.0';

修改php文件

[root@localhost wordpress]# mv wp-config-sample.php wp-config.php
[root@localhost wordpress]# vim wp-config.php
改成如下图:

浏览器输入:http://hostip/wordpress,走一遍向导,OK

验证:

我们可以在博客上随便添加个用户,或者写个文章等,只要能记录到数据库当中就可以,然后我们可以利用上面查看在mycat的查看命令查看是否读写分离

思考

我们也可以对mycat做高可用,并且还能负载均衡,这里的wp代表wordpress如下拓扑图你是否能自己完成?

ok,没有问题,打包收工!!

利用mycat读写分离搭建wordpress博客网站的更多相关文章

  1. LNMP架构之搭建wordpress博客网站

    系统环境版本 [root@db02 ~]# cat /etc/redhat-release CentOS release 6.9 (Final) [root@db02 ~]# uname -a Lin ...

  2. 基于docker搭建wordpress博客网站平台

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

  3. 在腾讯云上面搭建WordPress博客网站

    一.准备工作 我们使用腾讯云服务器来运行WordPress,腾讯云会给新用户七天的产品体验时间还有一些代金券,做为新手尝试成本是比较小的. 腾讯云长期举办 "云+校园" 活动,学生 ...

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

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

  5. 如何在VPS上搭建WordPress博客网站(史上最全图文教程)

    由于现在很多人仍然使用共享主机,所以我决定写这篇教程,教你如何设置自己的虚拟专用服务器(VPS),以便为启动一个 WordPress 网站准备好所有必要的服务. 为什么共享托管不是最好的选择? 你的 ...

  6. 怎么用Hostwinds搭建Wordpress博客网站(超详细图文教程)

    Hostwinds 成立于 2010 年,在主机托管行业算是一个比较新的品牌,但是,凭借丰富的产品线.卓越的服务器性能.良好的客户支持,以及低廉实惠的价格,他们受到了广大客户的喜爱,并多次获得行业重要 ...

  7. Windows下搭建Wordpress博客网站

    一:安装wamp Windows下的Apache+Mysql/MariaDB+Perl/PHP/Python,一组常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序,但是因为常被放在一起使 ...

  8. 本地搭建Wordpress博客网站(Windows)

    最近在写一些web功能测试的一个主题分享,里边有一个分类是数据库测试,那么数据库测试有几个点的方法,其中有一个是学会看数据库的日志.由于公司内部的数据库日志我们测试人员暂时不开放查看,所以打算自己在本 ...

  9. Debian 上面五分钟搭建 WordPress - 博客/网站平台

    没有废话,步骤如下: 下载安装软件,MySQL Apache PHP sudo aptitude install mysql-server mysql-client ##安装 MySQLsudo ap ...

随机推荐

  1. thymeleaf实现热部署

    热部署可以在修改页面之后,不重新启动服务器也能查看修改效果. 1.导入依赖,我用的是gradle,使用maven的可以去https://mvnrepository.com/寻找对应的依赖 compil ...

  2. pyenv python 多版本管理工具

    pyenv fork 自rbenv 以及ruby-build ,然后修改为转为python 使用 venv 以及virtualenv 解决了版本选择的问题,pyenv 同时为我们解决 了python ...

  3. python异步编程

    python用asyncio 模块实现异步编程,该模块最大特点就是,只存在一个线程 由于只有一个线程,就不可能多个任务同时运行.asyncio 是"多任务合作"模式(coopera ...

  4. ESP8266 LUA脚本语言开发: 准备工作-LUA文件加载与变量调用

    前言 这节说一下多个文件调用 多个文件之间变量调用 准备两个文件 init.lua other.lua 开始 模块默认一开始调用的是init.lua 咱让init.lua调用 other.lua 很简 ...

  5. 【ECNU3386】Hunter's Apprentice(多边形有向面积)

    点此看题面 大致题意: 按顺序给你一个多边形的全部顶点,让你判断是按顺时针还是逆时针给出的. 多边形有向面积 显然我们知道,叉积可以求出两个向量之间有向面积的两倍. 所以,我们三角剖分,就可以求出四边 ...

  6. [LeetCode] 892. Surface Area of 3D Shapes 三维物体的表面积

    On a N * N grid, we place some 1 * 1 * 1 cubes. Each value v = grid[i][j] represents a tower of v cu ...

  7. [报名中] 腾讯技术专家为你揭秘"音视频及融合通信技术"

    | 导语 6月29日,北京东直门亚朵S酒店,云+社区邀您参加<音视频及融合通信技术>沙龙活动,深度探讨音视频及融合通信技术的发展及实践,领略前沿,共创价值. 数字多媒体技术的不断发展对音视 ...

  8. MySQL-InnoDB-MVCC多版本并发控制

    一.MySQL可重复读级别下,因为MVCC引起的BUG,下图1为相应的Java代码,其中事务1的生命周期最长,循环开启的事务2.3.4...与事务1并行 ,数据的读取只会成功一次,后面的读不到新增数据 ...

  9. 下载工具系列——Aria2 (几乎全能的下载神器)

    一.介绍 说完了前面一堆BT/PT客户端,现在终于轮到Aria2了,关于这个我就不介绍太多了,自从百度限速以来我觉得这个快变成众所周知的了,我平时也收集了各种和Aria2相关的插件或者是辅助软件之类的 ...

  10. 父组件调用子组件 viewChild

    父组件调用子组件 1.在子组件的ts中声明一个变量 public  lineout:any="你好,我是被父组件调用的子组件";  2.在父组件的html中写入 (引入子组件) & ...