首页 > 数据库 >MySQL(十):MySQL主从复制搭建

MySQL(十):MySQL主从复制搭建

时间:2024-03-12 15:34:23浏览次数:48  
标签:主从复制 配置 数据库 MySQL master mysql snails id 搭建

  主从复制有一主一从、一主多从、多主一从等多种模式,这里搭建一主一从模式,其他模式搭建过程的类似。

1、准备工作

  准备两台虚拟机,这里准备了两台虚拟机,并在两个节点安装MySQL。

192.168.33.55 (主节点)
192.168.33.11 (从节点)
mysql version : 8.0.31

2、主从复制搭建

2.1、在主从节点同时创建mall数据库

  0

2.2、创建表

CREATE TABLE `order` (
 `id` int NOT NULL AUTO_INCREMENT COMMENT '主键',
 `price` decimal(10,2) NOT NULL COMMENT '价格',
 PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4COLLATE=utf8mb4_0900_ai_ci;

2.3、添加配置

3.3.1、主节点配置

vi /etc/my.cnf

  添加如下配置:

#在mysqld模块中添加如下配置信息
log-bin=mysql-bin #二进制文件名称
binlog-format=ROW  #二进制日志格式
server-id=53306        #服务id,各节点不能相同,一般使用ip最后一位 + 数据库端口号
binlog-do-db=mall     #同步的数据库名称
binlog-ignore-db=mysql  #忽略的数据库名称

3.3.2、从节点配置

vi /etc/my.cnf

  添加如下配置:

#在mysqld模块中添加如下配置信息
log-bin=mysql-bin       #二进制文件的名称
binlog-format=ROW       #二进制文件的格式
server-id=13306         #服务器的id

3.3.3、注意事项

  主从配置一定要添加在[mysqld]下,我第一次配置将配置内容添加在了[mysqld_safe]下,my.cnf配置的文件内容未生效,导致主从的服务id相同,丛节点出现如下错误:

0

  修改完配置后,重启数据库。

2.4、登录主库,创建绑定账号

  登录主数据库 mysql -u root -p

4.4.1、创建绑定用户

  登录主数据库mysql -u root -p,创建绑定用户:

--授权操作
create user 'snails'@'%' IDENTIFIED BY 'snails';
GRANT REPLICATION SLAVE ON *.* TO 'snails'@'%';
alter user 'snails'@'%' IDENTIFIED WITH mysql_native_password BY 'snails';

4.4.2、查看主库状态

show master status

   记录File和Position,在从数据库连接主数据库时需要用到。

4.4.3、登录从数据库连接主服务器

  登录从数据库 mysql -u root -p,执行连接主数据库的命令:
change master to master_host='192.168.33.55',master_user='snails',master_password='snails',master_port=3306,master_log_file='mysql-bin.000001',master_log_pos=1254;

4.4.4、启动slave

start slave;

4.4.5、查看slave状态

show slave status\G

   当IO、SQL运行为Yes时,表示主从复制配置成功。

4.4.6、验证主从复制

  在主数据库中添加记录:

    

  稍等片刻,登录从数据库,查看数据同步情况。

  0  

标签:主从复制,配置,数据库,MySQL,master,mysql,snails,id,搭建
From: https://www.cnblogs.com/RunningSnails/p/18068406

相关文章

  • Ubuntu中搭建eclipse arm Linux gcc + jlink调试环境
    嵌入式arm开发过程中,需要用到jlink进行调试开发,需要搭建eclipsearmlinuxgcc+jlink调试环境,按照以下步骤搭建的环境可以识别到jlink。0环境搭建概述所需工具:(1)EclipseEclipse的本身只是一个框架平台,但是众多插件的支持,使得Eclipse拥有较好的灵活性。(2)CDTCDT......
  • MySQL(九):MySQL主从复制原理
    1、什么是MySQL主从复制MySQL主从复制:数据从一个主节点数据库复制到至少一个从节点数据库。MySQL采用异步复制方式同步数据,从节点不需要一直访问主数据库更新自身数据。2、为什么需要MySQL主从复制2.1、保证系统的高可用在复杂业务系统中,某些频繁的操作会导致MySQL锁......
  • 拆解跨天时间(mysql游标循环)-在转来的基础上增加一些更改
    尊重作者,原文链接:https://blog.csdn.net/liminghui4321/article/details/102763052原始数据表:需要将上面的时间段转成每一天的记录: 在原文的基础上作了一些更改:1、在表sales上增加一个字段bj:altertablesalesaddcolumnbjintDEFAULT0null;2、存储过程基础上增加了......
  • MySQL(八):MySQL之索引
    1、MySQL索引及作用MySQL官网:索引(Index)是帮助MySQL高效获取数据的数据结构。索引是数据结构。一个索引就是一个B+树,加快数据查询的速度。一个select查询语句在执行过程中一般最多能使用一个辅助索引,即使在where条件中用了多个辅助索引。2、InnoDB存储引擎支持的常见索......
  • Ubuntu 与Windows 之间搭建共享文件夹
    工作中经常需要搭建Linux环境用于测试以及其他开发需求,办公电脑通常是Windows系统,为便于让文件在两个系统之间传输,可以采取共享文件的方式实现;1、安装samba服务;sudoaptupdatesudoaptinstallsamba2、创建共享文件夹:mkdir  /path/shared-foldersu......
  • MYSQL语法:左连接、右连接、内连接、全外连接
    概念leftjoin(左连接):返回包括左表中的所有记录和右表中连接字段相等的记录。rightjoin(右连接):返回包括右表中的所有记录和左表中连接字段相等的记录。innerjoin(内连接):只返回两个表中连接字段相等的行。fulljoin(全外连接):返回左右表中所有的记录和左右表中连接字段相等的记录......
  • MySQL 精通与优化
    目录1.数据库管理与优化1.1.用户管理和权限控制1.2.数据库的备份和恢复1.3.数据库的性能优化和调优1.4.锁定和事务管理2.高可用性与容错性2.1.主从复制(Master-SlaveReplication)2.2.主主复制(Master-MasterReplication)2.3.数据库集群技术3.实践与项目案例3.1.......
  • typeorm mysql blob 存储base64
    typeormmysqlblob存储base64在TypeORM中,要将Base64数据存储到MySQL数据库的BLOB字段,您需要先将Base64字符串转换为Buffer,然后使用TypeORM的实体管理器来保存。以下是一个简单的例子:首先,定义您的实体:  import{Entity,PrimaryGeneratedColumn,Column}from......
  • mysql for update是锁表还是锁行
    转载至我的博客https://www.infrastack.cn,公众号:架构成长指南在并发一致性控制场景中,我们常常用forupdate悲观锁来进行一致性的保证,但是如果不了解它的机制,就进行使用,很容易出现事故,比如forupdate进行了锁表导致其他请求只能等待,从而拖垮系统,因此了解它的原理是非常必要的,......
  • WSL基本使用,Ubuntu->docker->MySQL8
    适用于Linux的Windows子系统(WSL)可让开发人员直接在Windows上按原样运行GNU/Linux环境(包括大多数命令行工具、实用工具和应用程序),且不会产生传统虚拟机或双启动设置开销。基本使用安装#此命令将启用运行WSL并安装Linux的Ubuntu发行版所需的功能。wsl--inst......