MySQL主从复制

JSON 2023-12-27 16:33:12 674

MySQL主从复制这种技术很多程序员在工作中都会用到,今天sojson给大家大致的介绍一下主从复制的点,希望本篇文章能给你的工作带来帮助。

MySQL主从复制

其实说白了,就是一种数据复制技术,其中一个 MySQL 服务器(主服务器)将其数据更改传播到一个或多个其他 MySQL 服务器(从服务器)

⚠️⚠️⚠️注意:service-id一定要注意修改,不然主从配置会有问题⚠️⚠️

服务器系统:CentOS 7.9

准备两台服务器分别安装MySQL 5.7.x

1.在两台数据库中分别创建数据库

# 注意两台必须全部执行
create database sv_database;

2.在主服务器进行如下配置:

#修改配置文件,执行以下命令打开mysql配置文件
vi /etc/my.cnf
#在mysqld模块中添加如下配置信息
log-bin=mysql-bin #二进制文件名称
binlog-format=ROW  #二进制日志格式,有row、statement、mixed三种格式,row指的是把改变的内容复制过去,而不是把命令在从服务器上执行一遍,statement指的是在主服务器上执行的SQL语句,在从服务器上执行同样的语句。MySQL默认采用基于语句的复制,效率比较高。mixed指的是默认采用基于语句的复制,一旦发现基于语句的无法精确的复制时,就会采用基于行的复制。
server-id=1		   #要求各个服务器的id必须不一样
binlog-do-db=sv_database   #同步的数据库名称
binlog-ignore-db=mysql # 不同步的数据库名称

3.配置从服务器登录主服务器的账号授权

赋予指定用户('root'@'%')复制权限

这个命令用于授予指定用户在任意数据库、任意表上的主从复制权限。在这里,'root'@'%' 是用户名为 "root" 且允许在任何主机('%' 表示所有主机)连接的用户。identified by '123456' 指定了用户的密码。赋予复制权限是为了配置 MySQL 主从复制,允许一个 MySQL 服务器(从服务器)从另一个服务器(主服务器)复制数据。

grant replication slave on *.* to 'root'@'%' identified by '123456';

或者分开也可以,这两个操作是一样的

create user salve@'%' identified by '123456';
grant replication slave on *.* to salve@'%';

最后,刷新配置

flush privileges;

4.从服务器的配置

#修改配置文件,执行以下命令打开mysql配置文件
vi /etc/my.cnf
#在mysqld模块中添加如下配置信息
log-bin=mysql-bin	#二进制文件的名称
binlog-format=ROW	#二进制文件的格式
server-id=2			#服务器的id
relay-log=mysql-relay

5.重启主服务器的mysqld服务

#重启mysql服务
service mysqld restart
#登录mysql数据库
mysql -uroot -p
#查看master的状态
show master status;

6.重启从服务器并进行相关配置

#重启mysql服务
service mysqld restart
#登录mysql
mysql -uroot -p
#连接主服务器
change master to master_host='192.168.85.11',master_user='root',master_password='123456',master_port=3306,master_log_file='master-bin.000001',master_log_pos=154;
#启动slave
start slave
#查看slave的状态
show slave status\G(注意没有分号)

版权所属:SO JSON在线解析

原文地址:https://www.sojson.com/blog/480.html

转载时必须以链接形式注明原始出处及本声明。

本文主题:

如果本文对你有帮助,那么请你赞助我,让我更有激情的写下去,帮助更多的人。

关于作者
一个低调而闷骚的男人。
相关文章
Redis主从复制底层算法
Redis主从复制底层算法
oracle数据库主从复制怎么实现?
oracle数据库主从复制怎么实现?
python基础代码示例(可免费复制)
python基础代码示例(可免费复制)
MySQL存储引擎
MySQL触发器教程
MySQL 分区、分表
MySQL存储引擎
最新文章
文件上传漏洞与防御 4058
前端构建工具选型指南:Webpack、Vite、Rollup、esbuild 深度对比 1444
物联网时代2026年时序数据库选型指南 1151
SaaS行业面临AI挑战:从“无限复用”到“灵活适应” 1269
神经网络:从构造到模型训练全链路解析 1168
一文吃透 Redis 核心存储结构:ziplist、listpack 与哈希表扩容 / 并发查询 1593
Linux sudo提权完整指南:从基础用法到生产级安全配置 691
XSS 和 CSRF 的本质区别及开发防御全解析 772
JVM垃圾回收(GC)全维度解析:从原理到调优实战 813
Linux动静态库与ELF加载全解析:从实操制作到底层原理 912
最热文章
免费天气API,天气JSON API,不限次数获取十五天的天气预报 783114
最新MyEclipse8.5注册码,有效期到2020年 (已经更新) 711464
苹果电脑Mac怎么恢复出厂系统?苹果系统怎么重装系统? 679993
Jackson 时间格式化,时间注解 @JsonFormat 用法、时差问题说明 562673
我为什么要选择RabbitMQ ,RabbitMQ简介,各种MQ选型对比 512621
Elasticsearch教程(四) elasticsearch head 插件安装和使用 484794
Jackson 美化输出JSON,优雅的输出JSON数据,格式化输出JSON数据... ... 302947
Java 信任所有SSL证书,HTTPS请求抛错,忽略证书请求完美解决 247433
Elasticsearch教程(一),全程直播(小白级别) 233097
谈谈斐讯路由器劫持,你用斐讯路由器,你需要知道的事情 228329
支付扫码

所有赞助/开支都讲公开明细,用于网站维护:赞助名单查看

查看我的收藏

正在加载... ...