什么是集群

集群(cluster)技术是一种较新的技术,通过集群技术,可以在付出较低成本的情况下获得在性能、可靠性、灵活性方面的相对较高的收益,其任务调度则是集群系统中的核心技术。

mysql集群技术在分布式系统中为MySQL数据提供了冗余特性,增强了安全性,使得单个MySQL服务器故障不会对系统产生巨大的负面效应,系统的稳定性得到保障。一个mysql集群包含三个节点:管理节点,数据节点和sql节点。启动顺序为:管理节点,数据节点,sql节点。管理节点只能一个,数据节点和sql节点可以根据需要设置个数。

管理节点:(也可以称管理服务器)主要负责管理数据节点和SQL节点,还有集群配置文件和集群日志文件。它监控其他节点的工作状态,能够启动、关闭或重启某个节点。其他节点从管理节点检索配置数据,当数据节点有新事件时就把事件信息发送给管理节点并写入集群日志。

数据节点:负责存储数据

sql节点:通过它进行sql操作。

搭建集群的原因高可伸缩性:服务器集群具有很强的可伸缩性。 随着需求和负荷的增长,可以向集群系统添加更多的服务器。在这样的配置中,可以有多台服务器执行相同的应用和数据库操作。

高可用性:在不需要操作者干预的情况下,防止系统发生故障或从故障中自动恢复的能力。通过把故障服务器上的应用程序转移到备份服务器上运行,集群系统能够把正常运行时间提高到大于99.9%,大大减少服务器和应用程序的停机时间。

高可管理性:系统管理员可以从远程管理一个、甚至一组集群,就好象在单机系统中一样。

所以通过对集群的搭建可以处理高并发的请求,减轻数据库的压力;通过主从复制的方式对数据进行备份,保证数据的一致性,防止程序发生错误而导致的数据丢失问题。MySQL Cluster 使用了一个专用的基于内存的存储引擎——NDB引擎,这样做的好处是速度快, 没有磁盘I/O的瓶颈,但是由于是基于内存的,所以数据库的规模受系统总内存的限制

MySql集群搭建方式

mysql:配置主机(master)和从库(slave);mysql主库进行操作后会写一个二进制日志文件,给从库去读取,从而完成读写分离。但是从库不是立马去读取这个文件,中间有一个缓冲时间,所以有可能会造成,主库数据已经插入了但是从库还没有完成更新的一个数据丢失。

配置方式

配置master:[[email protected] mysql]# vi /etc/my.cnf //编辑配置文件

server-id=1 //默认是1,不是的话则改为1

thread_concurrency = 2  //线程并发数(CPU*2)

log-bin=mysql-bin  //打开二进制日志功能

保存退出,重新启动mysql。

登录mysql,为mysql授权slave[[email protected] mysql]# mysql -uroot -p  //默认密码空,直接敲回车进入

mysql> grant replication slave on . to [email protected]%‘ identified by ‘123456‘;

mysql>flush privileges;

mysql>show grants for [email protected]%‘;  //查看授权,有记录说明ok

mysql>show master statusG;  //查看master服务器状态,有二进制日志文件名和记录位置(position)

配置slave[[email protected] mysql]#vi /etc/my.cnf  //编辑配置文件

server-id=11 //设置与master不一样就行,

thread_concurrency = 2  //线程并发数(CPU*2)

relay-log=mysql-log  //打开中继日志

relay-log-index=mysql-log.index  //设置relay-log-index文件名

保存退出,重新启动mysql。

登录mysql,设置master的ip和相关属性[[email protected] mysql]# mysql -uroot -p  //默认密码空,直接敲回车进入

mysql>change master to

->master_host=‘192.168.1.109‘,  //master服务器ip

->mastet_user=‘repl‘,  //用户名

->mastet_password=‘123456‘,  //密码

->master_log_file=‘mysql-bin.000001‘,  //master服务器二进制日志名

->master_log_pos=107;

mysql>slave start;  //启动slave

mysql> SHOW SLAVE STATUSG;  //查看slave状态

如果Slave_IO_Running和Slave_SQL_Running显示为yes则配置ok,过程中可能会出现:Slave I/O: error connecting to master [email protected]:3306‘ - retry-time: 60 retries: 86400, Error_code: 2003

引起问题原因是防火墙拦截了,解决办法就是修改防火墙配置,简单直接的办法就是把master服务器的防火墙关掉,执行/etc/init.d/iptables stop命令。

mysql数据库集群版_MySql数据库集群相关推荐

  1. linux mysql 实战_Linux平台MySQL多实例项目实施_MySQL数据库基础与项目实战06

    Linux平台MySQL多实例项目实施_MySQL数据库基础与项目实战06 视频教程学习地址 Oracle/MySQL数据库学习专用QQ群:336282998.189070296 学完风哥本课程能熟悉 ...

  2. mysql 集群实践_MySQL Cluster集群探索与实践

    MySQL集群是一种在无共享架构(SNA,Share Nothing Architecture)系统里应用内存数据库集群的技术.这种无共享的架构可以使得系统使用低廉的硬件获取高的可扩展性. MySQL ...

  3. mysql数据库5.7破解版_MySQL数据库5.7下载

    MySQL数据库5.7v5.7.22.1是一款可以免费使用的小型数据库,之所以说它是小型数据库,是因为是拿去和DB2等大型数据库相比的.而且,MySQL更新到现在这个版本之后,功能也是越来越强大且全面 ...

  4. mysql insert 不需要日志_MySQL数据库性能优化(1)「转」

    1.MySQL概述 从本文开始我们将讨论建立在块存储方案之上的关系型数据库的性能优化方案和集群方案.关系型数据库的选型将以创业公司.互联网行业使用最广泛的MySQL数据为目标,但是MySQL的安装过程 ...

  5. mysql 5.74安装教程_MySQL数据库作为关系型数据库中的佼佼者,因其体积小,速度快,成本低,不仅受到了市场的极大追捧,也受到了广大程序员的青睐。接下来,就给大家说一下,MySQL的...

    MySQL数据库作为关系型数据库中的佼佼者,因其体积小,速度快,成本低,不仅受到了市场的极大追捧,也受到了广大程序员的青睐.接下来,就给大家说一下,MySQL的下载和安装: 一.MySQL的下载 第一 ...

  6. mysql数据库建新分区_mysql数据库分区

    日常开发中我们经常会遇到大表的情况,所谓的大表是指存储了百万级乃至千万级条记录的表.这样的表过于庞大,导致数据库在查询和插入的时候耗时太长,性能低下,如果涉及联合查询的情况,性能会更加糟糕.分表和表分 ...

  7. mysql数据库引擎博客_mysql 数据库引擎常识全集

    1.mysql引擎简介: MyISAM引擎是mysql关系数据库管理系统的默认存储引擎(mysql 5.5以前).这种mysql表存贮结构从的旧的ISAM代码扩展出许多有用的功能.在新版本的mysql ...

  8. mysql部门人员排序设计_MySQL数据库访问性能优化

    MYSQL应该是最流行的WEB后端数据库.大量应用于PHP,Ruby,Python,Java 等Web语言开发项目中,无论NOSQL发展多么快,都不影响大部分架构师选择MYSQL作为数据存储. MYS ...

  9. mysql数据库缓存为多久_mysql数据库查询缓存总结

    概述 查询缓存(Query Cache,简称QC),存储SELECT语句及其产生的数据结果.闲来无事,做一下这块的总结,也做个备忘! 工作原理 查询缓存工作原理如下: 缓存SELECT操作的结果集和S ...

最新文章

  1. spring-redis-data的一个坑
  2. Martin Fowler谈《重构HTML:改善Web应用的设计》
  3. Nmap源码分析(操作系统扫描)
  4. python异或运算怎么算_小强学Python+OpenCV之-1.4.4掩膜mask及位运算(与、或、非、异或)...
  5. jquery实用方法
  6. 干货 | ZooKeeper 源码和实践揭秘
  7. 板子制作_使用Buildroot制作Ubootamp;Kernelamp;Rootfs
  8. karto探秘之open_karto 第四章 --- 回环检测与后端优化
  9. 企业数字化转型之道-企业架构
  10. mysql随机生成中文姓名_编写mysql函数 随机生成中文姓名
  11. AcrelEMS-IDC综合能效管理系统 XXX数据中心案例分享
  12. 读书笔记:遇见未知的自己
  13. C语言中的%p是什么意思?
  14. 华米 Amazfit 跃我 GTR 4和GTS 4的区别
  15. Win10电脑如何格式化
  16. Python爬虫入门(爬取豆瓣电影信息小结)
  17. rpc服务器不可用桌面图标消失,rpc服务器不可用,教您rpc服务器不可用怎么办
  18. 笔记 | Java 虚拟机
  19. 完整配置SSM及实践-欧克
  20. Eye-in-hand和Eye-to-hand问题求解和实验

热门文章

  1. request java获取参数body_@RequestBody参数已经被读取,究竟是何原因?
  2. 百度网盘如何取消自动登录
  3. 渗透测试-红/蓝队Hvv技术手册/面试
  4. 让用户输入一个正整数,判断该数是不是素数(质数)
  5. try except与try finally不同之处
  6. 项目中如何修改element-ui的默认样式
  7. Gem5和NVMain集成使用教程
  8. 团队博客-11月19日
  9. ETH2.0已至 机遇与风险并存,Archer谋局矿工群体
  10. ChinaSkills-网络系统管理(2021年全国职业院校技能大赛A-1 模块 A:Linux 环境 真题 )