加入收藏 | 设为首页 | 会员中心 | 我要投稿 上海站长网 (https://www.021zz.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

mysql5.7主从复制搭建

发布时间:2022-12-13 14:03:45 所属栏目:MsSql教程 来源:互联网
导读: 简介
主从复制就是有两台数据库,一台作为主库,一台作为从库,从库会根据主库的binlog将数据复制过来,从而达到主从数据库数据保持一致的效果。主要用途如下:
起到备份数据的作用,主库出

简介

主从复制就是有两台数据库,一台作为主库,一台作为从库,从库会根据主库的binlog将数据复制过来,从而达到主从数据库数据保持一致的效果。主要用途如下:

起到备份数据的作用,主库出现问题,从库还能有数据,不至于数据丢失。主从的架构可以做读写分离,主库写,从库读,分摊数据库压力,提高效率。环境准备

本次只用两台虚拟机演示主从复制,从库可以有多个。

操作系统Centos7,数据库mysql5.7

CentOS7安装Mysql5.7教程

ip

角色

192.168.32.132

主库

192.168.32.133

从库

主库配置打开主库mysql配置文件

vim /etc/my.cnf

增加如下配置

#主从之间保证唯一即可,一般都是用ip最有一位
server_id=1
#开启binlog,binlog 日志件会以my-bin作为前缀
log-bin=my-bin
#只记录指定数据库的二进制日志,默认全部记录
binlog-do-db=TestDB
#不复制数据库系统自带的数据库
binlog-ignore-db=mysql
binlog-ignore-db=information_schema
binlog-ignore-db=performance_schema
binlog-ignore-db=sys
#忽略错误,如1062主键冲突,当在从库插入数据后又在主库插入数据,之后同步会出错
#可以给用户授予最小的权限,避免这个问题
slave_skip_errors=1062

主库MySQL配置

重启mysql

systemctl restart mysqld

创建测试数据库并插入测试数据


CREATE DATABASE `TestDB` DEFAULT CHARACTER 
SET utf8mb4 COLLATE utf8mb4_general_ci;
USE `TestDB`;
CREATE TABLE `User` (
    `Id` BIGINT ( 20 ) NOT NULL AUTO_INCREMENT,
    `Name` VARCHAR ( 255 ) CHARACTER 
    SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
    PRIMARY KEY ( `Id` ) USING BTREE 
) ENGINE = INNODB AUTO_INCREMENT = 1 CHARACTER 
SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
INSERT INTO `User`(`Name`)
VALUES
    ( '张三' ),(
    '李四')

sphinx mssql_mssql复制数据库_mssql复制

测试数据库

备份数据库用于初始化从库,保证主从数据库起始状态一致

由于测试数据库比较简单mssql复制,数据较少,可以直接在从库上执行上面的创建测试库语句也是一样的

mysqldump - u root - p --d atabases TestDB > TestDB.SQL

登录mysql查看master状态

SHOW MASTER STATUS;

File 为binlog的文件名,用于从库配置文件

Position 的值用于从库配置从哪个位置开始同步

mssql复制_sphinx mssql_mssql复制数据库

主库状态

从库配置还原备份的主库数据库

也可执行主库的建库建表插入数据语句

打开主库mysql配置文件

vim /etc/my.cnf

增加如下配置


#主从之间保证唯一即可,一般都是用ip最有一位
server-id=2 
#只读
read_only=1

mysql从库配置

重启mysql

systemctl restart mysqld

登录从库执行命令连接主库

CHANGE MASTER TO 
master_host='192.168.32.132',
master_user='root',
master_password='123qwe',
master_port=3306,
master_log_file='my-bin.000001',
master_log_pos=6906,
master_connect_retry=30;

master_log_file:主库binlog文件名

master_log_pos:从主库binlog哪个位置开始同步

启动主从同步

START SLAVE;

查看从库状态

SHOW SLAVE STATUS

Slave_IO_Running:YES

Slave_IO_Running:YES 这两个值为yes说明主从配置成功

mssql复制数据库_sphinx mssql_mssql复制

测试主从同步主库插入数据

INSERT INTO `User`(`Name`)
VALUES
    ( '王五' ),(
    '赵六');

从库也会出现这两条数据

(编辑:上海站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!