当前位置: 首页 > news >正文

部署mysql主从同步,部署mysql数据读写分离结构+mycat2

主要命令

 
  • [root@mysql59 ~]# yum –y install mysql-server mysql
  • [root@mysql59 ~]# systemctl start mysqld
  • [root@mysql59 ~]# vim /etc/my.cnf.d/mysql-server.cnf
  • [mysqld]
  • server-id=59
  • log-bin=mysql59
  • :wq
  • [root@mysql59 ~]# systemctl restart mysqld
  • //用户授权
  • [root@mysql59 ~]# mysql
  • mysql> create user repluser@"%" identified by "123qqq...A"; 创建用户
  • Query OK, 0 rows affected (0.11 sec)
  • mysql> grant replication slave on *.* to repluser@"%"; 授予权限
  • Query OK, 0 rows affected (0.09 sec)
  • //查看日志信息
  • mysql> show master status;
  • +----------------+----------+--------------+------------------+-------------------+
  • | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
  • +----------------+----------+--------------+------------------+-------------------+
  • | mysql59.000001 | 667 | | | |
  • +----------------+----------+--------------+------------------+-------------------+
  • 1 row in set (0.00 sec)

配置slave服务器MySQL60

  1. //指定server-id 并重启数据库服务
  2. [root@mysql60 ~]# yum –y install mysql-serv    er mysql
  3. [root@mysql60 ~]# systemctl start mysqld
  4. [root@mysql60 ~]# vim /etc/my.cnf.d/mysql-server.cnf
  5. [mysqld]
  6. server-id=60
  7. :wq
  8. [root@mysql60 ~]# systemctl restart mysqld
  9. //登陆服务指定主服务器信息
  10. [root@mysql60 ~]# mysql
  11. mysql> change master to master_host="192.168.88.59" , master_user="repluser" , master_password="123qqq...A" ,master_log_file="mysql59.000001" , master_log_pos=667;
  12. Query OK, 0 rows affected, 8 warnings (0.34 sec)
  13. //启动slave进程
  14. mysql> start slave ;
  15. Query OK, 0 rows affected, 1 warning (0.04 sec)
  16. //查看状态信息
  17. mysql> show slave status \G
  18. *************************** 1. row ***************************
  19. Slave_IO_State: Waiting for source to send event
  20. Master_Host: 192.168.88.59
  21. Master_User: repluser
  22. Master_Port: 3306
  23. Connect_Retry: 60
  24. Master_Log_File: mysql59.000001
  25. Read_Master_Log_Pos: 667
  26. Relay_Log_File: mysql60-relay-bin.000002
  27. Relay_Log_Pos: 322
  28. Relay_Master_Log_File: mysql59.000001
  29. Slave_IO_Running: Yes //IO线程
  30. Slave_SQL_Running: Yes //SQL线程
  31. Replicate_Do_DB:
  32. Replicate_Ignore_DB:
  33. Replicate_Do_Table:
  34. Replicate_Ignore_Table:
  35. Replicate_Wild_Do_Table:
  36. Replicate_Wild_Ignore_Table:
  37. Last_Errno: 0
  38. Last_Error:
  39. Skip_Counter: 0
  40. Exec_Master_Log_Pos: 667
  41. Relay_Log_Space: 533
  42. Until_Condition: None
  43. Until_Log_File:
  44. Until_Log_Pos: 0
  45. Master_SSL_Allowed: No
  46. Master_SSL_CA_File:
  47. Master_SSL_CA_Path:
  48. Master_SSL_Cert:
  49. Master_SSL_Cipher:
  50. Master_SSL_Key:
  51. Seconds_Behind_Master: 0
  52. Master_SSL_Verify_Server_Cert: No
  53. Last_IO_Errno: 0
  54. Last_IO_Error:
  55. Last_SQL_Errno: 0
  56. Last_SQL_Error:
  57. Replicate_Ignore_Server_Ids:
  58. Master_Server_Id: 59
  59. Master_UUID: 38c02165-005e-11ee-bd2d-525400007271
  60. Master_Info_File: mysql.slave_master_info
  61. SQL_Delay: 0
  62. SQL_Remaining_Delay: NULL
  63. Slave_SQL_Running_State: Replica has read all relay log; waiting for more updates
  64. Master_Retry_Count: 86400
  65. Master_Bind:
  66. Last_IO_Error_Timestamp:
  67. Last_SQL_Error_Timestamp:
  68. Master_SSL_Crl:
  69. Master_SSL_Crlpath:
  70. Retrieved_Gtid_Set:
  71. Executed_Gtid_Set:
  72. Auto_Position: 0
  73. Replicate_Rewrite_DB:
  74. Channel_Name:
  75. Master_TLS_Version:
  76. Master_public_key_path:
  77. Get_master_public_key: 0
  78. Network_Namespace:
  79. 1 row in set, 1 warning (0.00 sec)
  80. mysql>

主(master)数据库服务器角色

        网站连接后用来存储数据的服务器(只有一台)

从(slave)数据库服务器角色

        自动同步主服务器上的数据(可以有很多台)

配置mysql主从

54连接53把53上面的命令copy过去在54上执行一遍

IP 192.168.88.53 做master服务器

1.启用binlog日志文件,配置文件:/etc/my.cnf.d/mysql-server.cnf

2.用户授权

 create user repluser@"%"  identified by "123"

grant replication slave on *.*  to repluser@"%";

3.查看正在使用的binlog日志文件

主从同步的工作原理

Slave_IO_Running: yes

负责联系master 复制master主机 bnlog 日志文件里的sql命令到本机的relay-log文件里

从主服务器总mysql主机名-relay-log  中继日志文件

Slave_SQL_Running:yes  

执行本机relay-log里的日志文件,实现与master内容一致

必须io线程和sql线程是yes

单向同步,永远是从去同步主上的内容.

排错方法

Last_IO_Error:     IO线程报错信息

报错原因 通常是change master to 的配置项不正确

解决办法:  重新指定主服务  stop slave  change msater to  start slave;

Last_SQL_Error:  SQL线程报错信息

通常是执行relay-log文件里的sql命令时 失败 导致的

show slave status \G

可以竖着看

配置"一主多从"结构

配置数据读写分离结构(主从同步+mycat软件实现)

IP 192.168.88.54 做clave服务器

指定server_id 并重启数据库服务,指定主服务器信息,启动slave进程,查看状态信息

show slave status

        1.指定server_id (不能重复,唯一的)  重启binlog服务器

要手动同步  主服务器 比自己多的

在master 服务器执行完全备份  把备份文件copy给slave主机

show master status;

]#mysqldump -B bbsdb > /root/bbsdb.sql

]# scp /root/bbsdb.sql  root@192.168.88.55/root/

在slave服务器执行 备份文件 恢复数据

mysql  <   /rootbbsdb.sql

在slave 服务器执行  备份文件  恢复数据

        2.指定主服务器信息

        服务器的ip  用户名  密码    日志文件 偏移量

        3.启动slave

        4.查看状态信息

一主一从

一主多从

主从主

主主结构

主从同步

master服务器配置

        1.启用binlog日志

        2.创建用户并授权

        3.查看正在使用的日志文件

       

slave服务器的配置

        1.指定server_id (不能重复,唯一的)  重启binlog服务器

        2.指定主服务器信息

        服务器的ip  用户名  密码    日志文件 偏移量

        3.启动slave

        4.查看状态信息

Slave_IO_Running: yes

Slave_SQL_Running:yes

部署mysql数据读写分离结构+mycat2

理论:把客户端访问数据库服务的查询访问select 和 写访问 insert 分别给不同的数据库服务器处理.

功能:减轻单台数据库服务器的并发访问压力

如何实现数据读写分离

        人肉分离   select  ---------->   57

                         insert  ----------->   56

                        proxy   ----------->   58

         通过搭建读写分离服务实现

能够实现数据读写分离服务的软件(中间件)有哪些

mysql-proxy  mycat,mycat2(可以实现读写分离,高可用,分布式存储等功能)

环境准备:后端两台服务器一定是主从结构,配置,mysql主从结构

配置mycat服务器   192.168.88.58

1.安装mycat

2.修改配置

                设置客户端连接mucat 服务器时  使用的用户名和密码:定义客户端连接mycat服务使用用户及密码:

                设置mycat服务启动时连接的数据库服务器

                根据配置在本机运行mysql服务并创建plj用户

3.启动mycat

mycat服务监听的是8066端口  mysql默认访问3306端口

三.连接mycat服务配置读写分离

mysql -h127.0.0.1 -P8066  -umycat -p654321

添加数据源  定义数据库服务器的ip地址

  • /*+ mycat:createdatasource{
  • "name":"whost56", "url":"jdbc:mysql://192.168.88.56:3306","user":"plja","password":"123456"}*/;

测试配置

mysql -h192.168.88.58 -Pmycat服务的端口  -umycat  -p654321

2.在数据服务器 上添加plja用户

3.创建集群 把57()和56()组成工作组

删除

ls /usr/local/mycat/conf/datasources/

所添加的数据源所在位置

 /*+mycat:showDataSources{}*/ \G

json命令查看数据源

 
  • /*!mycat:createcluster{
  • "name":"rwcluster",
  • "masters":["whost56"],
  • "replicas":["rhost57"]
  • }*/ ;

4. 指定数据库服务器的角色

master 角色服务器负责insert 访问

slave角色服务器负责

5.定义集群出来读访问的策略

                 集群处理查询访问的方式

支持的策略有:BALANCE_ALL  获取集群中所有

默认的是发给所有BALANCE_ALL_READ  获取集群中允许读数据源

BALANCE_NONE 获取集群中允许

6.创建网站存储数据使用的库,并定义  库存储数据使用rwcluster

相关文章:

部署mysql主从同步,部署mysql数据读写分离结构+mycat2

主要命令 [rootmysql59 ~]# yum –y install mysql-server mysql[rootmysql59 ~]# systemctl start mysqld[rootmysql59 ~]# vim /etc/my.cnf.d/mysql-server.cnf[mysqld]server-id59log-binmysql59:wq[rootmysql59 ~]# systemctl restart mysqld//用户授权[rootmysql59 ~]# my…...

【最新!超详细C++入门】

01_C语言基础 一、课程目标 1、掌握 C基本语法&#xff1a;变量、常量、注释、标识符命名规范 2、掌握C数据类型 3、掌握C的输入和输出 4、掌握C运算符和表达式 5、掌握条件语句 6、掌握循环语句 二、课程内容 1 C初识 1.1 第一个C程序 编写一个C程序总共分为4个步骤…...

【Linux】【实战系列】10 分钟掌握日常开发中 Linux 网络处理相关命令

文章目录 lsofnetstatpingnslookupsshssh-keygenscpsftp 网络工具 curl网络工具 wget最后个人简介 hello&#xff0c;大家好&#xff0c;我是 Lorin&#xff0c;上一期和大家分享一期日常开发中常用的 Linux 文件和文本命令实战教学&#xff0c;这一期给大家带来常用的网络处理…...

语义分割常用评价指标

在图像处理领域中&#xff0c;语义分割是很重要的一个任务。在实际项目开发中,评估模型预测效果以及各指标的含义对于优化模型极为重要。 本文将主要评价指标的计算算法进行了详细说明,并加上注释解释每个指标的含义。这对理解各指标背后的数学原理以及能否在实践中应用或许有…...

从0开始学习C++ 第一课:你的第一个C++程序

第一课&#xff1a;你的第一个C程序 当然可以。让我们从C的基础开始&#xff0c;我们的第一课将覆盖以下几个主题&#xff1a; 程序结构编写和运行你的第一个C程序基本的输入输出&#xff08;I/O&#xff09; 第一课&#xff1a;你的第一个C程序 在C中&#xff0c;所有的程…...

Dubbo-admin监控中心

监控中心 Dubbo-admin监控中心执行操作启动provider和consumer项目进行测试总体流程 Dubbo-admin监控中心 dubbo-admin下载路径 git clone https://github.com/apache/dubbo-admin.git图1-1 dubbo-admin项目文件展示 执行操作 # 启动zookeeper# 前端 cd dubbo-admin-ui npm i…...

216. 组合总和 III - 力扣(LeetCode)

题目描述 找出所有相加之和为 n 的 k 个数的组合&#xff0c;且满足下列条件&#xff1a; 只使用数字1到9每个数字 最多使用一次 返回 所有可能的有效组合的列表 。该列表不能包含相同的组合两次&#xff0c;组合可以以任何顺序返回。 输入示例 k 3, n 7输出示例 [[1,2,…...

LeetCode-题目整理【5】:O(1) 时间插入、删除和获取随机元素

RandomizedSet结构体存在切片和哈希表的原因&#xff1a; 变长数组由于可以根据下标定位到特定元素&#xff0c;因此可以在 O(1)的时间内完成获取随机元素操作&#xff0c;但是由于无法在 O(1) 的时间内判断元素是否存在&#xff0c;因此不能在 O(1) 的时间内完成插入和删除操作…...

服务器感染了.wis[[Rast@airmail.cc]].wis勒索病毒,如何确保数据文件完整恢复?

导言&#xff1a; 在当今数字化的时代&#xff0c;恶意软件攻击已经变得越来越复杂和狡猾&#xff0c;[[MyFilewaifu.club]].wis [[backupwaifu.club]].wis[[Rastairmail.cc]].wis勒索病毒是其中的一种新威胁。本文91数据恢复将深入介绍[[MyFilewaifu.club]].wis [[backupwaif…...

ContentNegotiationManagerFactoryBean 内容协商

一.什么是内容协商 简单点说&#xff0c;就是同一资源,可以有多种表现形式&#xff0c;比如xml、json等&#xff0c;具体使用哪种表现形式&#xff0c;是可以协商的。 这是RESTfull的一个重要特性&#xff0c;Spring Web MVC也支持这个功能。 1.Spring MVC REST是如何决定采用…...

html css js 开发一个猜数字游戏

以下是一个使用HTML、CSS和JS开发的简单猜数字游戏的示例&#xff1a; HTML代码&#xff1a; <!DOCTYPE html> <html> <head><title>猜数字游戏</title><link rel"stylesheet" type"text/css" href"style.css&quo…...

HDD 东山再起,单块 30TB 起步新品想要颠覆储存行业

不得不承认&#xff0c;这年头机械硬盘&#xff08;HDD&#xff09;是越来越不受待见了。 体积大&#xff0c;耗电高&#xff0c;速度慢等多年祖传特点无不脱离当前消费者所追求的轻量化&#xff0c;高性能。 个人消费市场不约而同选择全面奔向固态硬盘&#xff08;SSD&#x…...

【网络安全】-基本工具msf

secure 1、有此漏洞的目标主机2、无此漏洞的目标主机&#xff08;常用&#xff09; ps.本着兴趣爱好&#xff0c;加强电脑的安全防护能力&#xff0c;并严格遵守法律和道德规范。msf&#xff08;metasploit framework&#xff09;是一个开源的渗透测试框架&#xff0c;用于开发…...

Vue3的ref和reactive

目录 1、ref的基本使用 2、reactive的基本使用 3、ref操作dom 4、ref与reactive的异同 1、ref的基本使用 ref创建数据可以是基本类型也可以是引用类型 ref函数创建响应式数据&#xff0c;返回值是一个对象 模版中使用ref数据,省略.value&#xff0c;js代码中不能省略 获…...

Flink编程——风险欺诈检测

Flink 风险欺诈检测 文章目录 Flink 风险欺诈检测背景准备条件FraudDetectionJob.javaFraudDetector.java 代码分析执行环境创建数据源对事件分区 & 欺诈检测输出结果运行作业欺诈检测器 欺诈检测器 v1&#xff1a;状态欺诈检测器 v2&#xff1a;状态 时间完整的程序期望的…...

Day37 贪心算法 part06 738. 单调递增的数字 968. 监控二叉树

贪心算法 part06 738. 单调递增的数字 968. 监控二叉树 738. 单调递增的数字 class Solution { public:int monotoneIncreasingDigits(int n) {string strNum to_string(n);int tag strNum.size();for(int i strNum.size()-1; i>1; i--){if(strNum[i]<strNum[i-1]){…...

SpringBoot Redis入门(四)——Redis单机、哨兵、集群模式

单机模式&#xff1a;单台缓存服务器&#xff0c;开发、测试环境下使用&#xff1b;哨兵模式&#xff1a;主-从模式&#xff0c;提高缓存服务器的高可用和安全性。所有缓存的数据在每个节点上都一致。每个节点添加监听器&#xff0c;不断监听节点可用状态&#xff0c;一旦主节点…...

获取数组中的第一个、第二个、第三个......元素

常规操作可以直接使用索引&#xff08;下标&#xff09;获取&#xff1a; const arr [5,8,6,9,10] const first arr[0] //5 const second arr[1] //8 const third arr[2] //6 不使用索引&#xff0c;如何获取&#xff1a; const [first] [5,8,6,9,10] //…...

前端面试题(持续更新~~)

文章目录 一、基础1、数组常用的方法2、数组有哪几种循环方式&#xff1f;分别有什么作用&#xff1f;3、字符串常用的方法4、原型链5、闭包6、常见的继承7、cookie 、localstorage 、 sessionstrorage区别8、数组去重方法9、http 的请求方式10、数据类型的判断方法11、cookie …...

ubuntu下无法访问和ping通github的一种解决方法

近期在ubuntu下突然无法访问github了&#xff0c;ping也无法ping通&#xff0c;尝试过更换不同的网络也无济于事。后来在https://blog.csdn.net/weixin_48544978/article/details/133899687 这个文章中找到了解决办法。 运气比较好&#xff0c;只按照文章中的第一步将http://…...

C++初阶-list的底层

目录 1.std::list实现的所有代码 2.list的简单介绍 2.1实现list的类 2.2_list_iterator的实现 2.2.1_list_iterator实现的原因和好处 2.2.2_list_iterator实现 2.3_list_node的实现 2.3.1. 避免递归的模板依赖 2.3.2. 内存布局一致性 2.3.3. 类型安全的替代方案 2.3.…...

【人工智能】神经网络的优化器optimizer(二):Adagrad自适应学习率优化器

一.自适应梯度算法Adagrad概述 Adagrad&#xff08;Adaptive Gradient Algorithm&#xff09;是一种自适应学习率的优化算法&#xff0c;由Duchi等人在2011年提出。其核心思想是针对不同参数自动调整学习率&#xff0c;适合处理稀疏数据和不同参数梯度差异较大的场景。Adagrad通…...

NLP学习路线图(二十三):长短期记忆网络(LSTM)

在自然语言处理(NLP)领域,我们时刻面临着处理序列数据的核心挑战。无论是理解句子的结构、分析文本的情感,还是实现语言的翻译,都需要模型能够捕捉词语之间依时序产生的复杂依赖关系。传统的神经网络结构在处理这种序列依赖时显得力不从心,而循环神经网络(RNN) 曾被视为…...

QT3D学习笔记——圆台、圆锥

类名作用Qt3DWindow3D渲染窗口容器QEntity场景中的实体&#xff08;对象或容器&#xff09;QCamera控制观察视角QPointLight点光源QConeMesh圆锥几何网格QTransform控制实体的位置/旋转/缩放QPhongMaterialPhong光照材质&#xff08;定义颜色、反光等&#xff09;QFirstPersonC…...

2025年渗透测试面试题总结-腾讯[实习]科恩实验室-安全工程师(题目+回答)

安全领域各种资源&#xff0c;学习文档&#xff0c;以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具&#xff0c;欢迎关注。 目录 腾讯[实习]科恩实验室-安全工程师 一、网络与协议 1. TCP三次握手 2. SYN扫描原理 3. HTTPS证书机制 二…...

Webpack性能优化:构建速度与体积优化策略

一、构建速度优化 1、​​升级Webpack和Node.js​​ ​​优化效果​​&#xff1a;Webpack 4比Webpack 3构建时间降低60%-98%。​​原因​​&#xff1a; V8引擎优化&#xff08;for of替代forEach、Map/Set替代Object&#xff09;。默认使用更快的md4哈希算法。AST直接从Loa…...

Web中间件--tomcat学习

Web中间件–tomcat Java虚拟机详解 什么是JAVA虚拟机 Java虚拟机是一个抽象的计算机&#xff0c;它可以执行Java字节码。Java虚拟机是Java平台的一部分&#xff0c;Java平台由Java语言、Java API和Java虚拟机组成。Java虚拟机的主要作用是将Java字节码转换为机器代码&#x…...

API网关Kong的鉴权与限流:高并发场景下的核心实践

&#x1f525;「炎码工坊」技术弹药已装填&#xff01; 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 引言 在微服务架构中&#xff0c;API网关承担着流量调度、安全防护和协议转换的核心职责。作为云原生时代的代表性网关&#xff0c;Kong凭借其插件化架构…...

规则与人性的天平——由高考迟到事件引发的思考

当那位身着校服的考生在考场关闭1分钟后狂奔而至&#xff0c;他涨红的脸上写满绝望。铁门内秒针划过的弧度&#xff0c;成为改变人生的残酷抛物线。家长声嘶力竭的哀求与考务人员机械的"这是规定"&#xff0c;构成当代中国教育最尖锐的隐喻。 一、刚性规则的必要性 …...

何谓AI编程【02】AI编程官网以优雅草星云智控为例建设实践-完善顶部-建立各项子页-调整排版-优雅草卓伊凡

何谓AI编程【02】AI编程官网以优雅草星云智控为例建设实践-完善顶部-建立各项子页-调整排版-优雅草卓伊凡 背景 我们以建设星云智控官网来做AI编程实践&#xff0c;很多人以为AI已经强大到不需要程序员了&#xff0c;其实不是&#xff0c;AI更加需要程序员&#xff0c;普通人…...