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;
本篇内容是参考网络教程学习过程中的笔记
开发工作着,生活快乐着,留下总结,相互交流,共同进步
开发工作着,生活快乐着,留下总结,相互交流,共同进步