Linux Centos7中Mysql双主双从服务器部署

作用:
由于架构的扩展,业务量的越来越大,I/O访问频率过高此时需要作多库的存储,提高单个及其的I/O性能。而当一个主服务器出现故障后,此时另一个服务器仍可以继续工作

一.环境
准备4台干净的mysql服务器
192.168.122.196 master1
192.168.122.197 master2
192.168.122.198 slave1
192.168.122.199 slave2
如果是克隆的虚拟机要修改每台服务器UUID //vim /var/lib/mysql/auto.cnf
在每台服务器中配置所有服务器的域名 //vim /etc/hosts

二:配置
1,两台主服务器之间各配置为主从

M——M
master1:
vim /etc/my.cnf
validate_password=off
log-bin = my1log
server-id = 1
gtid_mode=ON //开启gtid
enforce_gtid_consistency=1

systemctl restart mysqld  //重启mysql服务,使配置文件生效

创建授权账户:
grant all on . to ‘slave‘@‘%‘ identified by ‘123‘;
master2:
vim /etc/my.cnf
validate_password=off
log-bin = my2log
server-id = 2
gtid_mode=ON
enforce_gtid_consistency=1

systemctl restart mysqld  //重启mysql服务,使配置文件生效

help change master to 查找配置文件
edit
change master to
master_host=‘master1‘,
master_user=‘授权用户‘,
master_password=‘授权密码‘,
master_auto_position=1;
start slave;
show slave status\G
如果显示的
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
则说明部署成功

注意:
master2上也要创建一样的授权用户,在master1上进行change master to 的操作

2,两台从服务器分别将两台master配置为主服务器
S——S
slave1:
1,首先备份master1的所有数据,mysqldump -u root -p123 -A > /all.sql
2,scp 将数据发送到slave1和slave2
3,在mysql中将数据分别导入slave1和slave2的数据库中,source /all.sql
4,vim /etc/my.cof slave1和slave2做相同的操作
validate_password=off
log-bin = my3log
server-id = 3 //注意server-id 不能相同
gtid_mode=ON
enforce_gtid_consistency=1
relay_log_info_repository = TABLE
master_info_repository = TABLE
relay_log_recovery = on
当slave从库宕机后,假如relay-log损坏了,导致一部分中继日志没有处理,则自动放弃所有未执行的relay-log,并且重新从master上获取日志,这样就保证了relay-log的完整性

help change master to
edit
CHANGE MASTER TO
MASTER_HOST=‘master1/ip‘,
MASTER_USER=‘slave‘, //主服务器用户
MASTER_PASSWORD=‘big‘,
MASTER_AUTO_POSITION=1 FOR CHANNEL ‘master1‘
start slave;
show slave status;
edit
CHANGE MASTER TO
MASTER_HOST=‘master2/ip‘,
MASTER_USER=‘slave‘, //主服务器用户
MASTER_PASSWORD=‘big‘,
MASTER_AUTO_POSITION=1 FOR CHANNEL ‘master2‘
start slave;
show slave status\G
同理如果显示的
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
则说明部署成功
注意:slave1和slave2上做相同的change master to 操作。
如果不显示成功,错误可能有以下几点:
1,主从服务器的uuid相同,更改每台服务器UUID //vim /var/lib/mysql/auto.cnf
2,主从服务器的server-id相同,更改配置文件/etc/my.cnf中server-id,使每台服务器的server-id不同
3,主服务器与从服务器的数据不统一。
解决方法:
1,首先备份master1的所有数据,mysqldump -u root -p123 -A > /all.sql
2,scp 将数据发送到slave1和slave2
3,在mysql中将数据分别导入slave1和slave2的数据库中,source /all.sql

原文地址:https://blog.51cto.com/14482279/2431897

时间: 2024-08-03 23:51:51

Linux Centos7中Mysql双主双从服务器部署的相关文章

Linux Centos7中MySql安装

(1)     安装Mysql5.7: 执行命令:rpm -ivh http://repo.mysql.com/yum/mysql-5.7-community/el/7/x86_64/mysql-community-release-el7-7.noarch.rpm 执行命令:yum install mysql-community-server (2)     配置Mysql开机自动启动 执行命令:systemctl enable mysqld (3)     启动MYSQL: 执行命令:syst

4、读写分离---双主双从(mycat)

双主双从 一个主机 m1 用于处理所有写请求,它的从机 s1 和另一台主机 m2 还有它的从机 s2 负责所有读请 求.当 m1 主机宕机后,m2 主机负责写请求,m1.m2 互为备机. 角色               地址 master1          192.168.199.231 slave1             192.168.199.185 master2          192.168.199.120 slave2             192.168.199.174

003.MMM双主-双从读写分离部署

一 前期规划 1.1 主机规划 功能 IP 主机名 server id 应用属性 VIP MySQL版本 Monitor 172.24.8.20 Monitor -- 监控 -- -- Master01 172.24.8.10 Master01 1 写-writer 172.24.8.100 MySQL 5.6.37 Master02 172.24.8.11 Master02 2 读-reader 写-writer 172.24.8.101 172.24.8.102 172.24.8.103 1

MMM双主-双从读写分离部署

目录 一 前期规划 1.1 主机规划 1.2 虚拟IP规划 1.3 用户列表 1.4 整体架构 1.4 hosts修改 1.5 NTP配置 二 部署MySQL 2.1 安装MySQL 三 双主复制部署 3.1 master01 my.cf配置 3.2 Master02 my.cf配置 3.4 Master02创建账号 3.5 启动双主复制 3.3 启动Master02的slave功能 四 其他节点配置 4.1 所有Slave节点配置配置 4.2 所有Slave节点创建账号 4.2 Slave节点

Linux系统中MySQL数据库“主从”配置

MySQL数据库"主从"配置 一.配置概述: 在Linux操作系统中配置MySQL数据库的主从复制是很重要的,为什么这样说呢!是因为在你搭建一个服务器以后你配置了2台数据库,一主一从.2台数据库配置好以后,当其中一台数据库被攻击以后,你被攻击的这台数据库的数据会被自动的备份到另一台数据库中去.即使被攻击了数据也不会丢失.配置主从就是为了让web网站或其他的软件可以正常运转,确保数据的存在. 二.配置步骤: <配置具备的条件> 1.需要在虚拟机上安装好两台主机,同时安装好同一

【转载】MySQL双主双从高可用集群架构

双浮动VIP 原文地址:http://www.linuxcache.com/archives/2907 转载请注明原文地址.

MYSQL双主高可用方案部署实例

king01与king02互为master-slave [[email protected] ~]# mysql -uroot -pabcd.1234 mysql> show slave status\G; *************************** 1. row *************************** Slave_IO_State: Waiting for master to send event Master_Host: 192.168.130.202 Maste

linux centos7 中 su、sudo及禁止远程访问root

一. su命令 1.切换用户su - fxq su命令后带"- ",表示环境变量一起切换过去 [[email protected]_46_188_centos ~]# whoami root [[email protected]_46_188_centos ~]# Last login: Tue Aug  8 22:30:12 CST 2017 on pts/0 [[email protected]_46_188_centos ~]$ pwd /home/fxq [[email pro

Linux环境中MySQL主从同步--添加新的从库

当前我认为数据库主从有两大应用价值: 1.从库相当于主库的备份.虽然数据库的主从并不能代替/取代备份,例如错误的数据可能毁掉所有的数据库,但主从也是在一种可读的状态下保持备份的一种实现方式. 2.从库可以缓解主库的压力,能提高性能.由于从库是只读的,因此在读取查询方面,从库可以代替主库,承担一定的压力,无论是这些压力是来自用户(应用程序)还是开发.运维自己. MySQL的主从其实并不困难,而且需要做的事情也并不多,mysql官方给出的文档中对主从也做出了详细的指导.说明和解释,但总共也多少篇幅.