读写分离
1.概念:
Mycat 是数据库中间件,就是介于数据库与应用之间,进行数据处理与交互的中间服 务是实现对主从数据库的读写分离、读的负载均衡。
1.1 具体的部署思路如图
1.2、实验准备
需要准备四至五台虚拟机、及jdk软件包
准备一台虚拟机放到双主前面做代理 剩余四台作为双主、双从
补充:Mycat 是使用 JAVA 语言进行编写开发,使用前需要先安装 JAVA 运行环境(JRE),由于 MyCAT 中使用了 JDK7 中的一些特性,所以要求必须在 JDK7 以上的版本上运行。
1.3 安装下载 jdk 及mycat 然后就行安装解压
安装路径/usr/local/下
1.4.配置 jsk 及 mycat
编辑mycat 的配置文件 : 1.server.xml 2.schema.xml
1.4.1 编辑server
如图:
1.4.2 编辑schema.xml
1.4.3 jdk 只需解压运行
解压完毕后运行:jdk 名称 -version 即可
1.5 需要根据配置在双主库上创建授权账号
并创建binlog 的存放地址,及进行授权,然后创建需要授权的数据库,需要与schema.xml配置上的名称一致
重启 mycat 即可实现读写分离
双主双从配置
1.主一
vim /etc/my.cnf
server-id=1 //服务id
log-bin=/var/log/mysql/sqlbin //binlog 存放的路径
log-slave-updates // 配置项一定要配置,否则无法实现
配置完成,需对binlog的存储路径进行创建及授权,要不然重启mysql 会失败
创建授权账号交予 从一、从二使用
GRANT REPLICATION SLAVE ON *.* TO '账户'@'授权ip' identified by '密码';
1.1 双从配置(两个从机都要编辑,server-id 每个虚拟机编写一次即可) ##只要更改配置就要重启服务
1.1.1 需编写配置文件
vim /etc/my.cnf
server-id=3 //服务id
log-slave-updates // 配置项一定要配置,否则无法实现
1.1.2 进入mysql 进行配置
CHANGE MASTER TO
MASTER_HOST='master2.example.com', #主服务器ip或域名
MASTER_USER='replication', #主服务器用户
MASTER_PASSWORD='password', #用户密码
MASTER_PORT=3306, #端口
MASTER_LOG_FILE='master2-bin.001', #binlog日志文件名称
MASTER_LOG_POS=4, #日志位置
1.1.3 重启slave
start slave;
1.1.4 查看状态
show slave status\G //即可看到双yes
1.主二
1.1.1 配置 vim /etc/my.cnf
server-id=2 //服务id
log-bin=/var/log/mysql/sqlbin //binlog 存放的路径
log-slave-updates // 配置项一定要配置,否则无法实现
配置完成,需对binlog的存储路径进行创建及授权,要不然重启mysql 会失败
1.1.2 创建账号
创建授权账号交予 从一、从二使用
GRANT REPLICATION SLAVE ON *.* TO '账户'@'授权ip' identified by '密码';
1.1 双从配置(两个从机都要编辑,server-id 每个虚拟机编写一次即可)
##只要更改配置就要重启服务
1.1.1 需编写配置文件
vim /etc/my.cnf
server-id=4 //服务id
log-slave-updates // 配置项一定要配置,否则无法实现
1.1.2 进入mysql 进行配置
CHANGE MASTER TO
MASTER_HOST='master2.example.com', #主服务器ip或域名
MASTER_USER='replication', #主服务器用户
MASTER_PASSWORD='password', #用户密码
MASTER_PORT=3306, #端口
MASTER_LOG_FILE='master2-bin.001', #binlog日志文件名称
MASTER_LOG_POS=4, #日志位置
1.1.3 重启slave
start slave;
1.1.4 查看状态
show slave status\G //即可看到双yes
通过以上步骤即可实现双主双从!!!