【MySQL主从复制binlog日志方式】【部署一主双从 2从binlog日志方式】【部署 一主双从(gtid方式)】【故障排错】

主从复制binlog日志方式

步骤1;准备两台机器,关闭防火墙和selinux。—两台机器环境必须一致。时间也得一致
在这里插入图片描述
在这里插入图片描述
步骤2;配置解析,尝试查看能不能ping通
在这里插入图片描述
在这里插入图片描述
步骤3;两台机器安装mysql5.7
方法;wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm 先下载 mysql包
方法;rpm -ivh mysql80-community-release-el7-3.noarch.rpm 进行解压
方法;vim /etc/yum.repos.d/mysql-community.repo 打开 yum 配置文件下载 安装下载 5.7版本
方法;yum -y install mysql-community-server 下载
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

开始配置主服务

在主服务器上,必须启用二进制日志记录并配置唯一的服务器ID。需要重启Mysql服务。
步骤1;vim /etc/my.cnf 配置文件 添加一下内容
[mysqld] 这个标签下面
log-bin=/var/log/mysql/mysql-bin
server-id=1
在这里插入图片描述
步骤2;创建日志目录并赋予权限,
[root@mysql-master ~]# mkdir /var/log/mysql
[root@mysql-master ~]# chown mysql.mysql /var/log/mysql
在这里插入图片描述
步骤3;启动MySQL服务 修改密码 创建一个用户
方法;systemctl restart mysqld 启动MySQL
方法;grep pass /var/log/mysqld.log 过滤密码
方法; mysqladmin -uroot -p’旧密码’ password ‘新密码’ 修改密码
方法;GRANT REPLICATION SLAVE ON . TO ‘用户l’@’%’ identified by ‘密码’; 创建用户
方法;mysql> flush privileges; 刷新

在这里插入图片描述
在这里插入图片描述
步骤4;在主服务器上面操作
方法;mysql> show master status\G 查看日志时间
在这里插入图片描述

开始配置从服务器

步骤1;vim /etc/my.cnf 配置文件 添加一下内容
[mysqld] 这个标签下面
server-id=2
重点 ,改完配置文件 一定要重启 mysql
在这里插入图片描述
步骤2;启动MySQL 过滤密码修改密码
方法;systemctl restart mysqld 启动
方法;grep pass /var/log/mysqld.log 过滤密码
方法;mysqladmin -uroot -p’旧密码’ password ‘新密码’ 修改密码
在这里插入图片描述
步骤3;登录MySQL 编写内容
方法;登录mysql
mysql> \e
CHANGE MASTER TO
MASTER_HOST=‘主服务解析名,或者IP地址’,
MASTER_USER=‘主服务器创建的用户’,
MASTER_PASSWORD=‘密码’,
MASTER_LOG_FILE=‘主节点查看的二进制日志包’,
MASTER_LOG_POS=起始位置;
-> ;

change master to
master_host='mysql-master',
master_user='mingqing',
master_password='MingQing@11..',
master_log_file='mysql-bin.000001',
master_log_pos=460;

在这里插入图片描述
就是主服务上面查看的这个
在这里插入图片描述
步骤4;刷新查看
方法;mysql> start slave;
方法 ;mysql> show slave status\G
在这里插入图片描述

测试是否成功

主节点测试
在这里插入图片描述
在这里插入图片描述
丛节点测试
在这里插入图片描述

部署主从复制 2从binlog日志方式

步骤1;在准备一台虚拟机做为从节点2,关闭防火墙和selinux
192.168.246.130 #mysql-slave2
方法;配置解析,前面的也配置一下
在这里插入图片描述

在这里插入图片描述
步骤2;配置从节点,要保证数据一致和同步,先从从节点1 备份已有的
方法1;mysqldump -uroot -p’q密码’ --set-gtid-purged=OFF 库 > 文件名 主节点拷贝加参数
方法2;mysqldump -uroot -p’q密码’ 库 > 文件名 从节点不用添加
方法3;scp 文件名 192.168.246.130:/root/ #拷贝到slave2进行远程拷贝给从节点3
在这里插入图片描述
在这里插入图片描述
步骤3;从节点3 操作 进行安装 MySQL
方法;wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm 先下载 mysql包
方法;rpm -ivh mysql80-community-release-el7-3.noarch.rpm 进行解压
方法;vim /etc/yum.repos.d/mysql-community.repo 打开 yum 配置文件下载 安装下载 5.7版本
方法;yum -y install mysql-community-server 下载
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
步骤4; 配置文件 启动MySQL服务 修改密码 创建一个用户
vim /etc/my.cnf 配置文件 添加一下内容
[mysqld] 这个标签下面
server-id=3 按照顺序来 每台机器的id不一样
方法;systemctl restart mysqld 启动MySQL
方法;grep pass /var/log/mysqld.log 过滤密码
方法; mysqladmin -uroot -p’旧密码’ password ‘新密码’ 修改密码
方法;mysql> flush privileges; 刷新
在这里插入图片描述
在这里插入图片描述
步骤5;登录MySQL 创建一个库 进行恢复 然后编写master
方法;mysql -uroot -p’Qf@12345!’ test < test.sql #将数据导入。
方法;先查看 主节点的 master 新的日志包 还有位置
方法;mysql> \e
CHANGE MASTER TO
MASTER_HOST=‘主节点名称或者 ip地址’,
MASTER_USER=‘同步用户 主机点创建的’,
MASTER_PASSWORD=‘密码’,
MASTER_LOG_FILE=‘新的日志包’,
MASTER_LOG_POS=新的位置;

change master to
master_host='mysql-master',
master_user='mingqing',
master_password='MingQing@11..',
master_log_file='mysql-bin.000001',
master_log_pos=460;

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
步骤6;刷新 查看是否成功
方法;mysql> start slave;
方法;mysql> show slave status\G
在这里插入图片描述
测试 主节点 写入
在这里插入图片描述
从节点一查看
在这里插入图片描述
从节点二 查看
在这里插入图片描述

部署 一主双从(gtid方式)

方法类似上面的 binlog日志方式 不用备份 gtid方式 会自动补全没有的数据

步骤;在准备一台虚拟机做为slave2,关闭防火墙和selinux
192.168.246.130 #mysql-slave2

gtid方式 会自动补全没有的数据 不用备份

步骤2;从节点操作 按着MySQL 修改密码 直接指定
slave2操作:
安装mysql5.7
[root@mysql-slave2 ~]# wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
[root@mysql-slave2 ~]# yum -y install mysql-community-server
[root@mysql-slave2 ~]# mysql -uroot -p’Qf@12345!’

在这里插入图片描述
步骤3; 编写配置文件
方法; vim /etc/my.cnf 添加一下内容
server-id=3 #每台机器的id不一样
gtid_mode = ON
enforce_gtid_consistency=1
master-info-repository=TABLE
relay-log-info-repository=TABLE

步骤4;启动MySQL登录
[root@mysql-slave2 ~]# systemctl restart mysqld
[root@mysql-slave2 ~]# systemctl enable mysqld
[root@mysql-slave2 ~]# mysql -uroot -p’Qf@12345!’

步骤5;进入MySQL 进行编写
方法;mysql -uroot -p’Qf@12345!’
mysql> \e
change master to
master_host=‘192.168.246.129’, 主节点主机名或者ip地址
master_user=‘slave’, 主节点创建的同步用户
master_password=‘123’, 密码
master_auto_position=1;
步骤6;完成刷新 测试
mysql> start slave; #将slave启动起来
mysql> show slave status\G #查看一下状态
在这里插入图片描述

故障排错

在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值