MySQL笔记(二)CentOS7下MySQL8主从库搭建

本文转自https://mp.weixin.qq.com/s/NMaxmN5D0UckRlUxwTIJWw

说明

MySQL主从复制是一个 异步 的复制过程,底层是基于Mysql数据库自带的 二进制日志 功能。就是一台或多台MySQL数据库(slave,即从库)从另一台MySQL数据库(master,即主库)进行日志的复制,然后再解析日志并应用到自身,最终实现 从库 的数据和 主库 的数据保持一致。

MySQL主从复制是 MySQL数据库自带功能,无需借助第三方工具。

二进制日志:
二进制日志(BINLOG)记录了所有的 DDL(数据定义语言)语句和 DML(数据操纵语言)语句,但是不包括数据查询语句。此日志对于灾难时的数据恢复起着极其重要的作用,MySQL的主从复制, 就是通过该binlog实现的。默认MySQL是未开启该日志的。

MySQL复制过程分成三步:

  • MySQL master 将数据变更写入二进制日志( binary log )

  • slave将master的binary log拷贝到它的中继日志( relay log )

  • slave重做中继日志中的事件,将数据变更反映它自己的数据

搭建两台mysql数据库
主:192.168.2.221
从:192.168.2.230

一、主库配置

修改Mysql数据库的配置文件 vim /etc/my.cnf

# [mysqld]加入下面两行,其中的server-id不一定是100,确保唯一即可
log-bin=mysql-bin #[必须]启用二进制日志
server-id=100       #[必须]服务器唯一ID

重启mysql

systemctl restart mysqld

创建数据同步的用户并授权

# 测试用,直接使用root账号

查看master同步状态

# mysql数据库命令
show master status;

注意:执行完这一句SQL之后,不要再操作主库,因为再操作主库之后可能会导致红框中的 两个属性值会发生变化

二、从库配置

开启配置

# 登录MySQL执行命令

# 关闭从库
stop slave;

# 设置同步,注意这里是主库ip,日志名称和位置是我们之前上图中看到的名称和位置
change master to master_host='192.168.2.221',MASTER_PORT=3310,master_user='root',master_password='a@123456',master_log_file='mysql-bin.000002',master_log_pos=1789;

# 开启从库
start slave; 

检查状态

# 检查服务器状态
show slave status;

posted @ 2022-09-16 10:18  攻城狮~2022  阅读(293)  评论(0编辑  收藏  举报
所有内容都是自己使用过程的总结,如有不严谨或者不正确的地方,麻烦大家留言指出,一起研讨。