介绍 MMM(Master-Master replication manager for MySQL)是一套支持双主故障切换和双主日常管理的脚本程序。...虽然叫做双主复制,但是业务上同一时刻只允许对一个主进行写入,另一台备选主上提供部分读服务,以加速在主主切换时刻备选主的预热,可以说MMM这套脚本程序一方面实现了故障切换的功能,另一方面其内部附加的工具脚本也可以实现多个...slave的负载均衡。...优点 高可用性,扩展性好,出现故障自动切换,对于主主同步,在同一时间只提供一台数据库写操作,保证的数据的一致性。 缺点 Monitor节点是单点,可以结合Keepalived实现高可用。...status; //记录日志文件名称和位置值,在两台主上查看 在m1上为m2授予从的权限,在m2上也要为m1授予从的权限 # grant replication slave on *.* to 'replication
MySQL的GIS(空间信息系统)功能从8.0开始进行了大幅改进,包括支持空间数据参照系统,空间数据索引等等新功能和新特性。...MySQL空间扩展支持地理特征的生成、存储和分析,包括: 表示空间值的数据类型 操作空间值的函数 用于改进空间列访问速度的空间索引 MySQL的空间数据类型包括单值类型和多值类型,每种下面分别包括点、...对于水平或垂直的linestring, MBR是退化为linestring的矩形。对于一个点,MBR是一个退化为该点的矩形。同时,MySQL还支持在空间列上创建普通索引。...地理SRS是表示椭球面上任意角度单位的经纬度(或经纬度-经度)坐标的非投影SRS。 SRID 0在MySQL中表示的SRS是一个无限平坦的笛卡尔平面,其轴上没有指定单位。...它是一个抽象的平面,可以用来做任何事情。SRID 0是MySQL中空间数据的默认SRID。
安全高效的使用数据库,在现在的IT环境里显得尤为重要,审计功能可以对数据库的操作进行评估,以满足安全生产和法律法规的要求。...MySQL的企业版里,提供了一项审计功能——MySQL Enterprise Audit。...MySQL的审计功能以插件来实现,支持在特定的MySQL服务器上执行标准审计、基于规则的监视、日志记录以及阻挡连接和查询活动。...MySQL的审计功能使用起来非常简单,DBA启用插件后(插件可以动态启用、禁用),用户连接服务器进行的操作就可以记录到日志,DBA之后可以通过日志来评估审计事件。...上述内容是关于MySQL企业版审计功能的一个简介,希望能对希望安全使用MySQL的您有所帮助。更为详尽的内容请访问官网手册。
使用Docker搭建Alluxio群集 在之前的文章中,我们向您介绍了Docker。这篇文章将带你一起搭建Alluxio集群。 第一步是使用所需的软件包创建一个基本映像,并公开SSH端口(22)。...另外,创建Alluxio master所需的Hadoop用户,以便SSH到workers并启动进程。...[img1] 下一步是按照安装Alluxio所需的步骤创建一个Docker文件: [img2] 之后,创建包含集群信息(Master和Worker)的Docker-Compose文件。...在本文的例子中,我们有一个master和两个worker。.../alluxio-start.sh all NoMount 这是群集的屏幕截图: [img3]
Hive是Hadoop生态中的一个重要组成部分,主要用于数据仓库。前面的文章中我们已经搭建好了Hadoop的群集,下面我们在这个群集上再搭建Hive的群集。...1.安装MySQL 1.1安装MySQL Server 在Ubuntu下面安装MySQL的Server很简单,只需要运行: sudo apt-get install mysql-server 系统会把MySQL...1.3配置远程访问 默认情况下,MySQL是只允许本机访问的,要允许远程机器访问需要修改配置文件 sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf 找到bind-address...下,用MySQL的客户端连接master上的MySQL数据库,看是否能够远程访问。...JDBC驱动 去MySQL的官网,https://dev.mysql.com/downloads/connector/j/ 下载JDBC驱动到master服务器上。
MySQL的版本为 mysql Ver 14.14 Distrib 5.7.24, for Linux (x86_64) using EditLine wrapper 打开配置文件 sudo vi /etc.../mysql/mysql.conf.d/mysqld.cnf 在mysqld下面加上以下参数 server-id = 1 log_bin = /var/log/mysql/mysql-bin.log...expire_logs_days = 30 max_binlog_size = 100M binlog_format = ROW 重启mysql服务 sudo service mysqld...restart 查看是否配置成功 mysql -u root -p -e "show global variables like '%log_bin%';" 其中log_bin显示ON表明配置成功 +.../mysql-bin | | log_bin_index | /var/log/mysql/mysql-bin.index | +------------
HA群集模型如下:对外的vip是192.168.2.1,处于活动状态的web的主机名node1,处于备份状态的web的主机名node2,当主状态的web死掉,处于备份状态的web立即变为主状态。...(不考虑存储) Node1的配置 1、配置主机名和ip地址 2、编辑hosts文件,使主备之间能相互解析 192.168.2.100 node1.server1.com 192.168.2.200.../ cp /etc/init.d/httpd ./ 9、确保httpd现在是stop状态,且开机不启动,因为他的控制权以后就交个了heartbeat,并启动集群heartbeat 启动群集后多了一个接口地址即...,不在叙述 启动node2.server2.com的群集heartbeat 测试一下 活动状态node1的web 在一个client上长ping vip地址,并将node1.server1.com该为备份状态.../hb_takeover 这个过程中ping没有被中断,高可用群集保证了服务的不间断。。。!!!
MySQL8.0.21发布了,昨天临时在公号里放了张图片,简单粗暴地宣传了一下。今天补充一下详细信息。...在MySQL8.0.21发布之前,MySQL团队做了一个关于更名的声明,主要是将英文里比较敏感的词汇替换掉,但对中文来说影响不大,我们不存在这种歧视。 InnoDB的改进。...动态启用/禁用redo日志:这一功能的主要应用场景是初次进行数据导入。大家知道,为了保证数据能够完整的写入,防止意外发生时的数据丢失,MySQL会在数据写入磁盘之前,先将更改的内容写入redo日志。...增加了一个新的变量–innodb-validate-tablespace-paths := (ON | OFF) :当用户能够明确知道表空间文件未做过任何改动时,可以选择OFF,这时MySQL服务器启动时将不会去检查表空间文件...以上内容是MySQL8.0.21带来的部分改进,欢迎您试用MySQL8.0.21!
MySQL Shell逻辑转储和加载实用程序 MySQL Shell 8.0.21中引入了一套新的逻辑转储实用程序。...它还具有将数据从MySQL 5.7和MySQL 8.0服务器顺利复制到Oracle Cloud中MySQL数据库服务的功能。 有关这些实用程序的一系列博客文章将很快发布,敬请期待!...AdminAPI和MySQL Router现在支持将特定实例设置为“隐藏”,可以允许从路由器的目标池中临时删除某些实例,而无需实际更改群集的拓扑。...了解更多信息,MySQL Shell AdminAPI的新增功能。...更多信息 有关MySQL Shell 8.0.21更改的完整列表,包括错误,请参见发行说明。
开发者功能 MySQL开发人员需要新功能,而MySQL 8.0在诸如SQL,JSON,正则表达式和GIS等领域提供了许多新的和更多需求的功能。...JSON漂亮功能 MySQL 8.0 JSON_PRETTY()在MySQL中添加了一个函数。...SRID感知空间功能 MySQL的8.0延伸的空间的功能,例如 ST_Distance()和ST_Length()来检测其参数是在一个地理(椭圆形)和SRS来计算对椭球的距离。...该REGEXP_REPLACE() 功能是MySQL社区最需要的功能之一,例如,请参阅由Hans Ginzel 报告BUG#27389的功能请求。...Memcached的 MySQL 8.0通过多个获取操作并支持范围查询来增强InnoDB Memcached功能。
使用该功能可以为用户减少大量的升级测试工作,使得MySQL的运维变得更为简单丝滑。 Windows上的安装使用installer进行,前面的步骤与以往一致,运行配置管理时将出现不同。...点击执行,配置器将按照列表的任务执行升级操作: 备份MySQL数据库 停止之前的MySQL服务器 重命名之前的数据文件夹 写入配置文件 升级文件权限 调整window服务 启动服务器,并升级系统表...更新开始菜单 删除之前的MySQL 服务器启动后,使用MySQL Shell连接服务器,确认服务器状态。...服务器版本已经显示为8.3.0,并且之前 8.2 中的sakila数据库也正常存在。 该功能的推出,减少了人工升级带来误操作的风险,使得运维工作变得更加高效,便捷。...减少了升级测试的时间,将会大大减少MySQL升级的压力。本地部署的MySQL你还惧怕升级吗?
作者:Luis Soares 译:徐轶韬 我们刚刚发布了MySQL 8.0.20。它包含一些有趣的复制增强功能。特别值得一提的一项重要功能:二进制日志压缩。...以下是此版本中的内容列表: 二进制日志压缩(WL#3549)。LuísSoares所做的这项工作使用了流行的压缩算法ZSTD,实现了二进制日志压缩。压缩是基于每个事务完成的。...这意味着在磁盘上存储和通过网络传输的二进制日志将消耗较少的存储空间和网络带宽。 控制从服务器的主键检查(WL#13239)。...这意味着DBA可以在与主服务器不同的责任域中操作从服务器,DBA可以独立于上游主服务器上的设置来调整从服务器上的主键策略。 这次只是相关内容的一小部分!...请您在MySQL 8.0.20中尝试这些新的复制功能,并向我们反馈 。
作者:Alfredo Kojima 编译:徐轶韬 MySQL Shell 8.0.22刚刚发布,现在可以下载。 除了发行说明中描述的错误修复和较小更改外,还包括一些更重要的增强功能。...可以在decodeColumns选项中指定任意SQL表达式,该选项由MySQL服务器针对每个加载的行进行转换。...该功能允许在导入或迁移表时对数据进行转换,规范化和/或重新规范化,以及将简单的Extract-Transform-Load工作流程实现为MySQL Shell脚本。...从MySQL 5.6转储 现在可以从MySQL 5.6转储并将这些转储加载到MySQL 5.7或8.0中。但是,从MySQL 5.6转储时,不支持对用户帐户进行转储。...MySQL InnoDB Cluster 与MySQL Server中一样,对复制相关功能中已弃用的术语进行了更新,同时在必要时保持向后兼容性。
防火墙——将保护您免受任何软件中至少50%的所有类型的攻击。MySQL在企业版里为用户提供了防火墙功能。 MySQL的防火墙提供应用级别的防护,数据库管理员可以通过防火墙允许或拒绝SQL文的执行。...MySQL的防火墙是基于每个用户的白名单(白名单记录的是摘要语句,用户可以自定义长度)实现,每个用户的防火墙模式有三种,记录、保护和检测模式。...MySQL的防火墙主要由以下几个组件构成: 服务器端名为MYSQL_FIREWALL 的插件:该插件主要负责校验SQL语句是否与白名单匹配。...MySQL防火墙的使用方法也非常简单,在这里举一个简单的例子进行说明。...关于MySQL防火墙的内容介绍至此,欢迎您下载试用MySQL防火墙功能!
请参见第1.5节“在MySQL 5.7中添加,弃用或删除的服务器和状态变量和选项”。 添加的特性 MySQL 5.7中添加了以下功能: 安全性改进。...从MySQL 5.7.4开始,InnoDB支持InnoDB分区表和单个InnoDB表分区的传输表空间功能。此增强功能简化了分区表的备份过程,并允许在MySQL实例之间复制分区表和单个表分区。...在MySQL 5.7中不推荐使用的功能 MySQL 5.7中不推荐使用以下功能,可能会在将来的系列中删除。在显示替代方案的地方,应更新应用程序以使用它们。...要使用此功能初始化MySQL安装,如果您以前手动调用了mysql_install_db,则MySQL 5.7中不推荐使用的功能会使用–initialize或–initialize-insecure选项调用...MySQL 5.7中删除的功能 以下项目已过时,已在MySQL 5.7中删除。在显示替代方案的地方,应更新应用程序以使用它们。
current_value = VALUE WHERE NAME = seq_name; RETURN currval ( seq_name ); END $DELIMITER; 测试函数功能...当上述四步完成后,可以用以下数据设置需要创建的sequence名称以及设置初始值和获取当前值和下一个值。...SETVAL('TestSeq', 10); ---设置指定sequence的初始值 这里设置TestSeq 的初始值为10 SELECT CURRVAL('TestSeq'); --查询指定...TestSeq',10);---设置指定sequence的初始值这里设置TestSeq的初始值为10 SELECT CURRVAL('TestSeq');--查询指定sequence的当前值这里是获取TestSeq...当前值 SELECT NEXTVAL('TestSeq');--查询指定sequence的下一个值这里是获取TestSeq下一个值
默认情况下,故障转移集群中的每一个节点都是集群仲裁节点,每一个节点都拥有投票权,如果一个节点投赞成票,那么代表该节点认为集群是健康的,但是,单个节点不能决定集群整体的健康状态,而是由集群中的所有仲裁节点的投票结果来决定...在任何时刻,从每一个的节点的角度来看,其他节点可能处于离线状态,或正在进行故障转移,或由于网络连接失败而处于不响应状态,仲裁投票的关键在于确定所有投票节点的真实状态。...如果集群的节点位于不同的子网(Subnet)中,当一个结点在子网1中被认为是故障节点时,实际上,该节点可能是由于网络通信故障而不能被子网1的节点感知,但是该节点在子网2中是在线的,健康的。...如果投票结点在不同的子网中能够建立多个投票仲裁,那么将产生脑裂场景。在该场景中,位于不同仲裁的节点有不同的表现,使仲裁产生冲突,WSFC不能正确的执行故障转移,可能产生数据不同步。...仲裁节点集合是投票节点和见证节点(Witness)结合,仲裁结果由多数(Majority)结点决定,集群整体的健康状态是由周期性的仲裁投票的结果决定的,WSFC根据仲裁投票的结果,执行自动故障转移或者使集群离线
数据库之间的故障切换 binlog日志 记录了所有MySQL数据库的修改事件 包括增删改查时间和对表结构的修改事件 二进制日志格式 基于段的格式 binlog_format=STATEMENT...的配置文件中加入 server-id=1 log_bin=mysql_bin 重启mysql就行 查看二进制日志所记录的内容 mysql> create database crn; Query OK,...lib/mysql [root@MySQL8-slave2 mysql]# mysqlbinlog mysql_bin.000002 # 里面可以看到所有的操作记录 是基于段的 基于行的日志格式binlog_formart...mysql> insert into t values(3,'ee','bbb'); 查看你的mysqlbinlog日志 [root@MySQL8-slave2 mysql...]# mysqlbinlog mysql_bin.000003 # 单独的用mysqlbinary完全看不到row里面的数据 [root@MySQL8-slave2 mysql
大家好,我是历小冰,今天我们来学习和吐槽一下 MySQL 的 Join 功能。...关于MySQL 的 join,大家一定了解过很多它的“轶事趣闻”,比如两表 join 要小表驱动大表,阿里开发者规范禁止三张表以上的 join 操作,MySQL 的 join 功能弱爆了等等。...本篇文章的主角是 MySQL,下文没有特别说明的话,就是以 MySQL 的 join 为主语。...可惜这两个算法 MySQL 的主流版本中目前都不提供,而 Oracle ,PostgreSQL 和 Spark 则都支持,这也是网上吐槽 MySQL 弱爆了的原因(MySQL 8.0 版本支持了 Hash...其实阿里开发者规范也是在从 Oracle 迁移到 MySQL 时,因为 MySQL 的 join 操作性能太差而定下的禁止三张表以上的 join 操作规定的 。
问题说明 我们将从简单直接的维护宿主机节点的方法开始,确定该方法的挑战和潜在风险,并逐步构建解决我们在整个系列中发现的每个问题的方法。...或者,如示例中所述,如果要完全替换群集(例如替换VM镜像),我们希望将工作负载从旧节点移到新节点。...避免停机 为了最大程度地减少因维护集群等自愿性中断而导致的停机时间,Kubernetes 提供以下中断处理功能: Graceful termination Lifecycle hooks PodDisruptionBudgets...本系列的其余部分中,我们将使用 Kubernetes 的这些功能来减轻驱逐事件造成的服务中断。...我们将在本系列的整个过程中逐步增加其内容,以构建最终配置,以实现Kubernetes提供的所有功能,最大程度地减少维护操作期间的停机时间。
领取专属 10元无门槛券
手把手带您无忧上云