一、前期工作
参考文章《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