Mysql主从复制

介绍

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

MySQL复制过程分为三部:

  • master将改变记录到二进制日志(binary log)
  • slave将master的binary log拷贝到它的中断日志(relay log)
  • slave重做中断日志中的事件,将改变应用到自己的数据库中

配置主库Master

一、修改MySQL数据的配置文件/etc/my.cnf

[mysqld]
	log-bin=mysql-bin	# 启用二进制日志
	server-id=100		# 服务器唯一ID

二、重启数据库

systemctl restart mysqld

三、登录MySQL,执行下面SQL

use mysql;
-- 给192.168.94.10的用户root授予REPLICATION SLAVE权限
GRANT REPLICATION SLAVE ON *.* to 'root'@'192.168.94.10' identified by 'wyw666';

四、在MySQL中查看Master的状态

show master status;

查看master的状态之后,不要再执行其他操作

配置从库slave(Ubuntu20.04.6)

一、修改MySQL数据的配置文件/etc/mysql/mysql.conf.d/mysql.cnf(这里slave的系统使用Ubuntu20.04.6),主要是自己的安装路径

[mysqld]
	server-id=101 #[必须] 服务器唯一ID

二、重启数据库

systemctl restart mysql

三、登录MySQL数据,执行下列SQL:

change master to master_host='192.168.94.128', master_user='root', master_password='wyw666', master_log_file='mysql-bin.000001', master_log_pos=446;

-- 启动slave
start slave;

四、执行SQL,查看从数据库状态

show slave status\G;

成功!!!

posted @   菠菜好不好吃  阅读(27)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示