mycat mysql 双主_Mycat双主四从高可用详细配置操作

文章目录

前言

一. 主从配置

主机1

主机2

从机1

其余从机配置方法类似

二. Mycat配置

前言

实验环境:

系统:centos7

Mysql版本: 5.7

Mycat版本: 1.6

Mycat主机ip地址: 10.8.161.14

主机1地址: 10.8.161.9

主机2地址: 10.8.161.18

从机1地址: 10.8.161.139

从机2地址: 10.8.161.140

从机3地址: 10.8.161.141

从机4地址: 10.8.161.142

实验目标:

①主机1与主机2互为主从

②从机1、2为主机1的从机。从机3、4为主机2的从机。

③Mycat配置读写分离。 主机1、2为写主机 ,其余从机为读主机。当主机1宕机,主机2顶上。反之一样。

一. 主从配置

主机1

vim /etc/my.cnf 在配置文件下添加以下内容

[mysqld] #这个下面添加

server-id=1 #server的唯一标识

auto_increment_increment=2 #总共有2台主

auto_increment_offset=1 #这是第1台

log-slave-updates=1 # 共联同步

log-bin = mysql-bin #打开二进制功能,MASTER主服务器必须打开此项

max_binlog_size=1024M #binlog单文件最大值

进入主机1数据库,创建从机连接主机的账户。

grant replication slave on *.* TO 'cong'@'%' identified by 'aA12345678.';

重启数据库

systemctl restart mysqld

记下日志名字和起始位置

进入数据库

mysql> show master status\G

0fc3d3c1b272daeb442485ec65622466.png

主机2

vim /etc/my.cnf 在配置文件下添加以下内容

[mysqld] #这个下面添加

server-id=1 #server的唯一标识

auto_increment_increment=2 #总共有2台主

auto_increment_offset=2 #这是第2台

log-slave-updates=1 # 共联同步

log-bin = mysql-bin #打开二进制功能,MASTER主服务器必须打开此项

max_binlog_size=1024M #binlog单文件最大值

进入主机2数据库,创建从机连接主机的账户。

grant replication slave on *.* TO 'cong'@'%' identified by 'aA12345678.';

重启数据库

systemctl restart mysqld

记下日志名字和起始位置

进入数据库

mysql> show master status\G

0fc3d3c1b272daeb442485ec65622466.png

从机1

vim /etc/my.cnf 在配置文件下添加以下内容

[mysqld] #这个下面添加

server-id=103 # 和其他设备的id不同即可

autocommit=1 # 自动提交事务,相对安全

lower_case_table_names=1 #表不区分大小写

查看主1的日志起始

进入数据库,连接主1库

mysql> \e

CHANGE MASTER TO

MASTER_HOST='10.8.161.9', # 指定库1的地址

MASTER_USER='cong', # 指定库1创建的用户名

MASTER_PASSWORD='aA12345678.', # 指定库1创建的密码

MASTER_LOG_FILE='mysql-bin.000002', # 指定主1库的日志文件名

MASTER_LOG_POS=321; # 指定主1库的日志起始位置

-> ;

其余从机配置方法类似

配置完毕在从机启动并查看

mysql > start slave; #启动

mysql > show slave status\G #查看

752f869395b58e53c1dcc726388bcf96.png

二. Mycat配置

以下配置jdk包和mycat包已上传的我的资源,可自行下载。

下载地址

https://download.csdn.net/download/qq_26129413/14009842

部署jdk环境

[root@mycat ~]# tar xzf jdk-8u221-linux-x64.tar.gz -C /usr/local/

[root@mycat ~]# cd /usr/local/

[root@mycat local]# mv jdk1.8.0_221/ java #改名为java

设置环境变量

[root@mycat local]# vim /etc/profile #添加如下内容,

JAVA_HOME=/usr/local/java

PATH=$JAVA_HOME/bin:$PATH

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

[root@mycat local]# source /etc/profile

解压mycat包

tar xf Mycat-server-1.6.5-release-20180122220033-linux.tar.gz -C /usr/local/

配置mycat

server.xml:用于配置系统参数、用户信息、访问权限及SQL防火墙和SQL拦截功能等

schema.xml:用于配置逻辑库、逻辑表相关信息

rule.xml:如果使用了水平切分,就需要使用该文件配置切分规则

log4j2.xml:Mycat日志相关的配置,例如日志输出格式、日志级别等

应用连接Mycat服务时,Mycat首先会通过server.xml中的配置信息进行用户认证。用户通过验证后,所看到的逻辑库、逻辑表都是schema.xml中所配置的。当使用了水平切分时,Mycat会通过rule.xml里配置的规则来定位具体的物理数据库位置,从而完成写入/读取数据。

①server.xml 配置

0property>

0property>

2property>

0property>

0property>

1property>

1mproperty>

1kproperty>

0property>

384mproperty>

trueproperty>

system>

abc123.456property>

testdbproperty>

user>

mycat:server>

0ea6ee78e546add0e45d0452a03cbe3b.png ②schema.xml配置

schema>

writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100">

select user()heartbeat>

writeHost>

writeHost>

dataHost>

mycat:schema>

启动mycat服务

cd /usr/local/mycat/bin # 进入mycat的启动bin目录

./mycat # 启动mycat

netstat -lntp # 查看端口,可以看到有8086端口说明配置成功

4b5c033634290ebbb2968af9caf2afed.png

5. 远程连接mycat虚拟库

mysql -uroot -h10.8.161.14 -p'abc123.456' -P 8066 #这里的账号密码是我们在server.xml里配置的

登陆后可以查看到我们创建的testdb这个虚拟库,当我们操作该库时,对应的是几个实体数据库的testdb库。

f4e1e7b45165da3e2515a9a83e0117ca.png

======================================================================================================================================================================================================================================================================================================

辛苦浏览观看,如果对你有帮助,请顺手点个赞吧 (σ゚∀゚)σ…:*☆

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值