MySQL搭建主从集群详细步骤~
一、 Docker安装MySQL搭建主从
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
docker run -p 3306:3306 很多 -d --name haha mysql:5.7
Docker启动容器的数据部分一定挂载出来
1、创建Master
docker run -p 3307:3306 --name mysql-master \
-v /mydata/mysql/master/log:/var/log/mysql \
-v /mydata/mysql/master/data:/var/lib/mysql \
-v /mydata/mysql/master/conf:/etc/mysql/conf.d \
-e MYSQL_ROOT_PASSWORD=root \
--restart=always \
-d mysql:5.7
# 参数说明 /etc/my.cnf 任意的xxx.cnf 只要放在 /etc/mysql/conf.d 目录下,mysql也能认为是他的配置文件
# -p 3307:3306:将容器的3306端口映射到主机的3307端口
# -v /mydata/mysql/master/conf:/etc/mysql:将配置文件夹挂在到主机
# -v /mydata/mysql/master/log:/var/log/mysql:将日志文件夹挂载到主机
# -v /mydata/mysql/master/data:/var/lib/mysql/:将配置文件夹挂载到主机
# -e MYSQL_ROOT_PASSWORD=root:初始化root用户的密码
#修改master基本配置
vim /mydata/mysql/master/conf/my.cnf
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve
#注意:skip-name-resolve一定要加,不然连接mysql会超级慢
#添加master主从复制部分配置
server_id=1
log-bin=mysql-bin
read-only=0 #主库是写库
#可以同步的库,master只需要记录哪些库的二进制日志
binlog-do-db=hello
binlog-do-db=world
#不用同步的库
replicate-ignore-db=mysql
replicate-ignore-db=sys
replicate-ignore-db=information_schema
replicate-ignore-db=performance_schema
重启docker restart 容器ID|容器name
2、创建Slaver01
docker run -p 3308:3306 --name mysql-slaver-01 \
-v /mydata/mysql/slaver01/log:/var/log/mysql \
-v /mydata/mysql/slaver01/data:/var/lib/mysql \
-v /mydata/mysql/slaver01/conf:/etc/mysql/conf.d \
-e MYSQL_ROOT_PASSWORD=root \
--restart=always \
-d mysql:5.7
#修改slave基本配置
vim /mydata/mysql/slaver01/conf/my.cnf
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve
#添加master主从复制slaver01部分配置
server_id=2
read-only=1
relay-log=mysql-relay
replicate-ignore-db=mysql
replicate-ignore-db=sys
replicate-ignore-db=information_schema
replicate-ignore-db=performance_schema
3、创建Slaver02
docker run -p 3309:3306 --name mysql-slaver-02 \
-v /mydata/mysql/slaver02/log:/var/log/mysql \
-v /mydata/mysql/slaver02/data:/var/lib/mysql \
-v /mydata/mysql/slaver02/conf:/etc/mysql/conf.d \
-e MYSQL_ROOT_PASSWORD=root \
--restart=always \
-d mysql:5.7
#修改slave基本配置
vim /mydata/mysql/slaver02/conf/my.cnf
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve
#添加master主从复制slaver02部分配置
server_id=3
read-only=1
relay-log=mysql-relay
replicate-ignore-db=mysql
replicate-ignore-db=sys
replicate-ignore-db=information_schema
replicate-ignore-db=performance_schema
4、master授权slaver链接
1、进入master容器
docker exec -it mysql-master /bin/bash
2、进入mysql内部 (mysql –uroot -p)
- 1)、授权root可以远程访问( 主从无关,为了方便我们远程连接mysql)
grant all privileges on . to 'root'@'%' identified by 'root' with grant option;
flush privileges; - 2)、添加用来同步的用户
GRANT REPLICATION SLAVE ON . TO 'slave'@'%' IDENTIFIED BY '123456';
3、查看master状态
show master status\G;
5、slaver01同步master数据
1、进入slaver容器
docker exec -it mysql-slaver-01 /bin/bash
2、进入mysql内部(mysql –uroot -p)
- 1)、授权root可以远程访问( 主从无关,为了方便我们远程连接mysql)
grant all privileges on . to 'root'@'%' identified by 'root' with grant option;
flush privileges;
- 2)、设置主库连接
change master to master_host='192.168.119.159',master_user='slave',master_password='123456',master_log_file='mysql-bin.000001',master_log_pos=0,master_port=3307;
- 3)、启动从库同步
start slave;
3、查看从库状态
show slave status\G;
6、slaver02同步master数据
1、进入slaver容器
docker exec -it mysql-slaver-02 /bin/bash
2、进入mysql内部(mysql –uroot -p)
- 1)、授权root可以远程访问( 主从无关,为了方便我们远程连接mysql)
grant all privileges on . to 'root'@'%' identified by 'root' with grant option;
flush privileges;
- 2)、设置主库连接
change master to master_host='192.168.119.159',master_user='slave',master_password='123456',master_log_file='mysql-bin.000001',master_log_pos=0,master_port=3307;
- 3)、启动从库同步
start slave;
3、查看从库状态
show slave status\G;

至此主从配置完成
MySQL搭建主从集群详细步骤~的更多相关文章
- 搭建mysql主从集群的步骤
前提条件是:须要在linux上安装4个mysql数据库,都须要配置完对应的信息. 须要搭建: mysql 01: 主数据库 master mysql 02 : ...
- Windows搭建Redis集群-详细教程
一.集群知识 1.集群的概念 所谓的集群,就是通过添加服务器的数量,提供相同的服务,从而让服务器达到一个稳定.高效的状态. 2.使用redis集群的必要性 问题:我们已经部署好了redis,并且能启动 ...
- 转mysql复制主从集群搭建
最近搭了个主从复制,中间出了点小问题,排查搞定,记录下来 1环境:虚拟机:OS:centos6.5Linux host2 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 ...
- 在linux上搭建nacos集群(步骤详细,linux小白也搞得定)
(1)nacos官网:https://github.com/alibaba/nacos/releases/tag/1.2.1下载nacos安装包到window本地(后缀为tar.zip) (2)在li ...
- 基于Dokcer搭建Redis集群搭建(主从集群)
最近陆陆续续有不少园友加我好友咨询 redis 集群搭建的问题,我觉得之前写的这篇 <基于Docker的Redis集群搭建> 文章一定是有问题了,所以我花了几分钟浏览之前的文章总结了下面几 ...
- 基于Docker搭建Redis集群(主从集群)
基于Docker搭建Redis集群(主从集群) 最近陆陆续续有不少园友加我好友咨询 redis 集群搭建的问题,我觉得一定是之前写的这篇 <基于Docker的Redis集群搭建> 文章 ...
- 实验室中搭建Spark集群和PyCUDA开发环境
1.安装CUDA 1.1安装前工作 1.1.1选取实验器材 实验中的每台计算机均装有双系统.选择其中一台计算机作为master节点,配置有GeForce GTX 650显卡,拥有384个CUDA核心. ...
- 从0到1搭建spark集群---企业集群搭建
今天分享一篇从0到1搭建Spark集群的步骤,企业中大家亦可以参照次集群搭建自己的Spark集群. 一.下载Spark安装包 可以从官网下载,本集群选择的版本是spark-1.6.0-bin-hado ...
- 这次一定要教会你搭建Redis集群和MySQL主从同步(非Docker)
前言 一直都想自己动手搭建一个Redis集群和MySQL的主从同步,当然不是依靠Docker的一键部署(虽然现在企业开发用的最多的是这种方式),所以本文就算是一个教程类文章吧,但在动手搭建之前,会先聊 ...
- Docker搭建MySQL主从集群,基于GTID
写在前边 搭建MySQL读写分离主从集群,这里未使用binlog方式,使用的是GTID方式 源码见我的Github https://github.com/hellxz/mysql-cluster-do ...
随机推荐
- 手把手教你使用Vite构建第一个Vue3项目
写在前面 在之前的文章中写过"如何创建第一个vue项目",但那篇文章写的是创建vue2的 项目. 传送门如何创建第一个vue项目 打开Vue.js官网:https://cn.vue ...
- PHP上传文件$_FILES, $_POST为空 empty 时, 文件上传大小限制
原因 今天在使用ci upload库时, 上传mp4发现表单为空, 上传png等类型却可以正常. 折腾一番后才恍然, PHP上传大小限制的问题. Make一下. 真是失策啊, 一开始我还不相信到处瞎折 ...
- 使用KRPano资源分析工具强力加密JS文件
本文地址:http://www.cnblogs.com/reachteam/p/6294767.html 软件交流群:571171251(软件免费版本在群内提供) krpano技术交流群:551278 ...
- 主动写入流对@ResponseBody注解的影响
问题回溯 2023年Q2某日运营反馈一个问题,商品系统商家中心某批量工具模板无法下载,导致功能无法使用(因为模板是动态变化的) 商家中心报错(JSON串): {"code":-1, ...
- 「codeforces - 1344D」Résumé Review
link. 有点狗,但还算个好题. 设定 \(f_i(x)=a_ix-x^3\),\(\Delta_i(x)=f_i(x)-f_i(x-1)\),可以洞察到 \(\Delta_i(x)\) 在正自然数 ...
- .NET开发工作效率提升利器 - CodeGeeX AI编程助手
前言 2022年6月,随着GitHub Copliot正式面向大众发布.让许多开发者都感受到了AI辅助编程工具的魅力所在,Copilot实现了帮助开发者大大提高了编程开发效率,让程序员朝九晚五成为可能 ...
- [NISACTF 2022]level-up
[NISACTF 2022]level-up 查看源码,根据这个提示就可以反应出是需要去访问robots.txt这个文件 访问level_2_1s_h3re.php进入第二关 需要post进去arra ...
- 基于 P-Tuning v2 进行 ChatGLM2-6B 微调实践
微调类型简介 1. SFT监督微调:适用于在源任务中具有较高性能的模型进行微调,学习率较小.常见任务包括中文实体识别.语言模型训练.UIE模型微调.优点是可以快速适应目标任务,但缺点是可能需要较长的训 ...
- Maze 1D 题解
题目大意 在数轴上给定一串行动指令,类型有两种:向左移动一个单位 / 向右移动一个单位.要求最后一步到达一个没有到达过的位置.可以在数轴上放置若干个障碍物阻碍移动,问在放置的障碍物最少的情况下有多少放 ...
- 🎁平平无奇的 Docker 命令(日常流)
Docker search docker search 命令用于在 Docker Hub 上搜索镜像,语法如下: docker search [OPTIONS] TERM 常用的选项包括: --fil ...