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;
成功!!!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?