centos7下使用mycat实现mysql负载均衡和读写分离

 

 

一、前期工作

参考文章《Centos7下采用haproxy+keepalived搭建mysql高可用负载均衡》

1、关闭防火墙和SELINUX(4台虚拟机)
2、设置yum源(4台虚拟机)
3、安装mysql(7.80、7.81、7.82)

二、Mysql一主两从配置

1、修改MySQL配置文件

在7.80、7.81、7.82的MySQL配置文件/etc/my.cnf分别增加下面这一段。

server-id=80 #任意自然数n,保证三台MySQL主机id不一样。

log-bin=mysql-bin   #开启二进制日志

replicate-do-db=aa   #要同步的数据库,默认所有库

保存后,重启mysql服务

sudo systemctl restart mysqld

或sudo service mysqld restart

2、查看主mysql(7.80)二进制日志

登录mysql -uroot -p

密码Lr12345!

mysql> show master status;

3、在从mysql(7.81、7.82)告知二进制文件名与位置

mysql> change master to

    -> master_host='192.168.7.80',

    -> master_user='root',

    -> master_password='Lr12345!',

    -> master_log_file='mysql-bin.000001',

    -> master_log_pos=154;

查看结果

mysql> start slave;

mysql> show slave status\G;

4、验证主从同步

192.168.7.80主MySQL操作:

            mysql>create database aa;

            mysql>use aa;

            mysql>create table tab1(id int auto_increment,name varchar(10),primary key(id));

            mysql>show databases;

            mysql>show tables;

在7.80数据库aa上写入数据,看是否同步到7.81和7.82中。

三、7.83上安装Mycat

#安装Java环境(mycat基于java)

yum install java-1.8.0-openjdk.x86_64

#将下载的mycat安装包拷到/usr/local/ 并解压

cd /usr/local

 tar -zxvf Mycat-server-1.6.7.4-release-20200105164103-linux.tar.gz

# 创建专门运行mycat账号

adduser mycat

# 切换到mycat文件夹路径下

cd /usr/local

# 将文件权限赋给mycat账号

chown mycat:mycat -R mycat

#配置环境变量,最后面添加

vim /etc/profile

export JAVA_HOME=/usr

export MYCAT_HOME=/usr/local/mycat

# 刷新环境变量文件

source /etc/profile

# 切换mycat用户

su mycat

#切换目录

cd /usr/local/mycat/bin/

#启动mycat

./mycat start

#查看mycat运行状态

./mycat status

四、修改配置参数

1、修改配置文件schema.xml

vi /usr/local/mycat/conf/schema.xml

内容如下:

<?xml version="1.0"?>

<!DOCTYPE mycat:schema SYSTEM "schema.dtd">

<mycat:schema xmlns:mycat="http://io.mycat/">

    <schema name="aa" checkSQLschema="false" sqlMaxLimit="100" dataNode="jgywnode">

    </schema>

    <dataNode name="jgywnode" dataHost="jgywhost" database="aa" />

    <dataHost name="jgywhost" maxCon="1000" minCon="10" balance="3" writeType="0" dbType="mysql" dbDriver="native">

        <heartbeat>select user()</heartbeat>

    

        <writeHost host="master" url="192.168.7.80:3306" user="root" password="Lr12345!">

            <readHost host="slave" url="192.168.7.81:3306" user="root" password="Lr12345!"/>

            <readHost host="slave2" url="192.168.7.82:3306" user="root" password="Lr12345!"/>

        </writeHost>

   </dataHost>

</mycat:schema>

2、修改配置文件server.xml

vi /usr/local/mycat/conf/server.xml

内容如下:

<?xml version="1.0" encoding="UTF-8"?>

<!-- - - Licensed under the Apache License, Version 2.0 (the "License");

- you may not use this file except in compliance with the License. - You

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值