【微服务】部署mysql集群,主从复制,读写分离

两台服务器做如下操作

1.安装mysqldocker pull mysql:5.72.启动以及数据挂载
mkdir /root/mysql/data /root/mysql/log /root/mysql/conf
touch my.conf //mysql的配置文件docker run --name mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
-v /root/mysql/data:/var/lib/mysql \
-v /root/mysql/log:/var/log/mysql \
-v /root/mysql/conf:/etc/mysql/conf.d \
-dp 3306:3306 \
mysql:5.73.启动数据库,开机自启
docker start mysql
docker update mysql --always=restart4.修改配置文件,设置mysql为utf-8编码
[client]
default_character_set=utf8
[mysql]
default_character_set=utf8
[mysqld]
character_set_server=utf8
server_id=01   //主从服务器id要不一致
binlog-ignore-db=mysql  //此参数表示不记录指定的数据库的二进制日志。
log-bin=master-log-bin  //开启mysql的binlog日志功能,master-log-bin文件名
binlog_cache_size=1M  //binlog缓存大小
binlog_format=mixed  //binlog日志格式,mysql默认采用statement,建议使用mixed
expire_logs_days=7  //二进制日志自动删除/过期的天数。默认值为0,表示不自动删除。
slave_skip_errors=1062  //忽略主键冲突报错#MySQL主从同步中,经常遇到的三种同步错误:
#1、在master上delete一条记录,若在slave上没有这条数据,会出现报错。
#2、在master上insert一条记录,若在slave上主键值已经存在,会出现报错。
#3、在master上update一条记录,若在slave上没有这条数据,会出现报错。
#如果slave的my.cnf已经配置了slave_skip_errors参数,则可以自动跳过报错,如果没有配置该参数,则可以用以下方法解决:
#mysql> set global slave_exec_mode='idempotent'; 
#默认值是strict(严格模式),IDEMPOTENT  模式跳过主键冲突错误和更新删除行不存在错误。
#默认情况下该参数值是off,我们可以列出具体的error code,也可以选择all,mysql5.6及MySQL Cluster NDB 7.3以及后续版本增加了参数#ddl_exist_errors,该参数包含一系列error code(1007,1008,1050,1051,1054,1060,1061,1068,1094,1146)
#    一些error code代表的错误如下:
#     1007: 数据库已存在,创建数据库失败
#     1008: 数据库不存在,删除数据库失败
#     1050: 数据表已存在,创建数据表失败
#     1051: 数据表不存在,删除数据表失败
#     1054: 字段不存在,或程序文件跟数据库有冲突
#     1060: 字段重复,导致无法插入
#     1061: 重复键名
#     1068: 定义了多个主键
#     1094: 位置线程ID
#    1146: 数据表缺失,请恢复数据库
#    1053: 复制过程中主服务器宕机
#     1062: 主键冲突 Duplicate entry '%s' for key %d5.查看是否生效
docker exec -it mysql /bin/bash
mysql -uroot -p
show variables like 'character%';
show master status;  //显示主服务器状态+-----------------------+----------+--------------+------------------+-------------------+
| File                  | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+-----------------------+----------+--------------+------------------+-------------------+
| master-log-bin.000001 |      617 |              | mysql            |                   |
+-----------------------+----------+--------------+------------------+-------------------+6.创建账户给从数据库使用
CREATE USER 'slave'@'%' IDENTIFIED BY '123456';
GRANT REPLICATION SLAVE ON *.* TO 'slave'@'%';
flush privileges;7.修改salve数据库配置
[client]
default_character_set=utf8
[mysql]
default_character_set=utf8
[mysqld]
character_set_server=utf8
server_id=02
binlog-ignore-db=mysql
log-bin=slave-log-bin
binlog_cache_size=1M
binlog_format=mixed
expire_logs_days=7
slave_skip_errors=1062
relay_log=relay-log-bin  //从主服务器上同步日志文件记录到本地
log_slave_updates=1 //表示slave将复制事件写进自己的二进制日志。当设置log_slave_updates时,你可以让slave扮演其它slave的master
read_only=1  //1是只读8.重启从mysql,并连接主mysql
change master to master_host='192.168.162.201' , //主服务器ipmaster_user='slave' ,  //连接使用的用户master_password='123456' , //连接用户的密码master_port=3306 ,//主服务器端酒master_log_file='master-log-bin.000002'  //binlog文件位置
,master_log_pos=617  //#数据的最新位置
,master_connect_retry=30  //重连时间
,master_retry_count=3; //重连次数9.查看从服务状态,以及开启主从模式
show slave status \G;
start slave  //开启主从模式

show slave status \G;
未开启是状态
在这里插入图片描述

开启后
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/18395.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

飞睿智能高精度、低功耗测距,无线室内定位UWB芯片如何改变智能家居

在数字化和智能化快速发展的今天,定位技术已经成为我们日常生活中不可或缺的一部分。然而,传统的GPS定位技术在室内环境中往往束手无策,给我们的生活带来了诸多不便。幸运的是,随着科技的不断进步,一种名为UWB&#xf…

智能座舱-车载声学技术训练营

语音交互赋能车载智能终端,成为智能座舱生态构建的核心功能 曾几何时,至少十年前,车内语音交互,大家都认为是“智障”阶段,基本上除了难用作为评价找不到其他的形容词做修饰。 但是随着技术的不断发展,特别…

STM32Cube系列教程11:使用STM32 RNG硬件随机数模块生成彩票号码

文章目录 配置RNG模块编写代码获取生成的随机数运行测试 今天写段代码测试一下STM32U083RC的(RNG)硬件随机数模块 顺便写个小demo生成7位真随机数的彩票号码,帮助那些买彩票还有选择困难症的人群 (doge)(手动狗头)。 全部代码以上传到github:https://gi…

SpringBoot 微服务中怎么获取用户信息 token

SpringBoot 微服务中怎么获取用户信息 token 当我们写了一个A接口,这个接口需要调用B接口,但是B接口需要包含请求头内容,比如需要用户信息、用户id等内容,由于不在同一个线程中,使用ThreadLocal去获取数据是无法获取的…

如何高效测试防火墙的NAT64与ALG应用协议转换能力

在本文开始介绍如何去验证防火墙(DUT)支持NAT64 ALG应用协议转换能力之前,我们先要简单了解2个比较重要的知识点,即,NAT64和ALG这两个家伙到底是什么? 网络世界中的“翻译官” - NAT64技术 简而言之&…

如何批量提取pdf文件名?批量提取文件夹里的文件名,只要用对方法!

在数字化时代,PDF文件已经成为我们日常工作中不可或缺的一部分。然而,随着PDF文件数量的不断增加,如何高效地管理这些文件成为了一个挑战。批量提取PDF文件名,就是解决这一问题的关键所在。本文将为你介绍几种实用的方法&#xff…

长效IP和短效IP的使用指南分享

随着网络技术的发展,代理IP已经成为许多人在网络活动中不可或缺的工具。 代理IP不仅有助于保护用户的真实IP地址,保护用户的使用隐私,还可以帮助用户提升网络访问的速度等。 然而,在挑选代理IP时,用户常常会面临一个…

图像分割模型LViT-- (Language meets Vision Transformer)

参考:LViT:语言与视觉Transformer在医学图像分割-CSDN博客 背景 标注成本过高而无法获得足够高质量标记数据医学文本注释被纳入以弥补图像数据的质量缺陷半监督学习:引导生成质量提高的伪标签医学图像中不同区域之间的边界往往是模糊的&…

Java | Leetcode Java题解之第118题杨辉三角

题目&#xff1a; 题解&#xff1a; class Solution {public List<List<Integer>> generate(int numRows) {List<List<Integer>> ret new ArrayList<List<Integer>>();for (int i 0; i < numRows; i) {List<Integer> row new…

Docker-02-02 Docker离线下载安装与配置(linux)

一、Docker下载 官网下载地址:Index of linux/static/stable/x86_64/ (docker.com) 推荐下载最新的社区版: 二、将安装包上传至服务器并解压 将安装包上传至服务器的/usr/local目录并解压 cd /usr/local lstar -zxvf docker-18.06.3-ce.tgz三、将docker目录下的文件复制到…

ubuntu server 24.04 (Linux) 源码编译安装 OpenResty 1.25.3.1 Released

1 下载: OpenResty - 开源官方站 2 通过xftp等方式上传到ubuntu服务器 3 安装 #解压 tar zxvf openresty-1.25.3.1.tar.gz #创建运行用户 sudo groupadd www sudo useradd -g www www -s /bin/false #安装依赖软件 sudo apt update sudo apt-get install libpcre3-dev l…

OSINT 与心理学:通过开源情报进行剖析和行为分析

在不断发展的心理学领域&#xff0c;人们越来越认识到通过应用开源情报 (OSINT) 方法取得进步的潜力。OSINT 主要以其在安全和情报领域的应用而闻名&#xff0c;并且越来越多地展示其在心理分析和行为分析方面的潜力。本文探讨了 OSINT 和心理学的迷人交叉点&#xff0c;研究如…

前端项目上线

目录 1项目打包 2本地服务器部署 2.1具体操作步骤 2.2解决刷新 404 问题 2.3请求无法发送问题 3nginx 服务器部署 3.2nginx 配置代理练习 安装nginx nginx部署启动项目 3.3nginx 部署前端项目 4云服务器部署 本地资源上传 配置服务器与nginx 1项目打包 ●我…

【设计模式】JAVA Design Patterns——Data Transfer Object(数据传递对象模式)

&#x1f50d;目的 次将具有多个属性的数据从客户端传递到服务器&#xff0c;以避免多次调用远程服务器 &#x1f50d;解释 真实世界例子 我们需要从远程数据库中获取有关客户的信息。 我们不使用一次查询一个属性&#xff0c;而是使用DTO一次传送所有相关属性。 通俗描述 使用…

部署LAMP环境

红帽9搭建LAMP 安装Apache 2.安装数据库服务 3.安装php (1)使用IP访问/phpinfo.php 4.安装phpMyAdmin &#xff08;1&#xff09;数据库端口改为学号后五位 &#xff08;2&#xff09;登录phpmyadmin 5.SSH增加一个端口10022&#xff0c;fttp增加两个端口10080和8080 &#xf…

李廉洋:5.29黄金震荡,原油持续走高,今日美盘行情走势分析及策略。

黄金消息面分析&#xff1a;当前美国存在一个令人担忧且未被充分关注的问题&#xff1a;房地产行业低迷、高利率和抵押贷款利率、租金高涨以及美联储的紧缩政策构成了一个恶性循环。由于高房价和高抵押贷款利率&#xff0c;美国住房经济活动远低于两年前的水平。为了让该行业好…

Apache、Nginx、IIS文件解析漏洞

目录 1、文件解析漏洞介绍 2、Apache相关的解析漏洞 &#xff08;1&#xff09;多后缀解析漏洞 &#xff08;2&#xff09;Apache配置问题 &#xff08;3&#xff09;换行符解析漏洞 &#xff08;4&#xff09;罕见后缀解析 3、Nginx相关的解析漏洞 &#xff08;1&…

《java数据结构》--栈的详解

一.栈的认识 栈是一种不同于链表和顺序表的储存数据结构&#xff0c;它对存储数据和取出数据有着特殊的要求&#x1f914;。 首先栈只能从一端存储数据&#xff0c;也就是从一端进&#xff0c;还从这一端出这也是栈最大的特点&#xff0c;这也导致在栈中存取数据都必须遵循先…

C++线程任务队列模型

功能描述 实现一个任务队列&#xff0c;用于任务的执行 任务队列 任务队列可以添加、删除任务&#xff0c;实现对任务的管理添加任务后&#xff0c;任务队列可以开始执行任务队列执行任务方式为串行执行 任务 任务执行需要持续一段10s内随机的时间&#xff0c;执行过程通过…

打造爆款活动:确定目标受众与吸引策略的实战指南

身为一名文案策划经理&#xff0c;我深知在活动策划的海洋中&#xff0c;确定目标受众并设计出能触动他们心弦的策略是何等重要。 通过以下步骤&#xff0c;你可以更准确地确定目标受众&#xff0c;并制定出有效的吸引策略&#xff0c;确保活动的成功&#xff1a; 明确活动目…