0
点赞
收藏
分享

微信扫一扫

CentOS7-MySQL8主从库

说明:

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

一、主库配置

修改数据库的配置文件

vim /etc/my.cnf

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

重启数据库

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;

举报

相关推荐

0 条评论