MySQL
文章平均质量分 55
weixin_47354082
这个作者很懒,什么都没留下…
展开
-
MySQL如何使用事务
整体情况开启事务 --> DML --> 关闭事务(提交或回滚)一条或多条DML语句,执行过程是一个整体,要么全成功,要么全失败;事务两种形式显示开启事务,先执行begin 或 start transaction,使用start transaction 后台能添加read only / read write/ with consistent snapshot;START TRANSACTION [transaction_characteristic [, t原创 2022-04-14 05:03:10 · 974 阅读 · 0 评论 -
数据库ACID特性
A(Atomicity)原子性,事务中的一个或多个操作,要么全执行,要么全不执行,它们是一个整体,不可部分执行;A账户到B账户转账100元 ,将有下方两个操作,要么都执行,要么都不,不能只执行第1条,A账户扣钱了,而B账户没收到钱,也不能B账户收到了钱,而A账户没扣钱;A=A-100B=B+100C(Consistency)一致性,数据变化前后满足预设规则,符合逻辑;1、A账户余额100元,向B账户转200元,违反余额不足,不符合逻辑;2、表中主键字段,被加入相同数据,违反主键原创 2022-04-02 11:27:24 · 600 阅读 · 0 评论 -
MySQL8搭建MGR多主模式
一、介绍MGR多主模式,各个结点都是主结点,都能读写操作,均能外提供服务,当有结点出现故障,会被自动剔除集群,故障转移过程,由客户端去识别处理,下次启动组复制,故障自动完成数据同步,达到最终数据一致。二、搭建2.1 搭建MGR单主模式请参考MySQL8搭建MGR单主模式_weixin_47354082的博客-CSDN博客。2.2 修改参数关闭单主模式MGR调整参数关闭单主模式,会自动变成多主模式;2.2.1 热修改STOP GROUP_REPLICATION;s.原创 2022-03-31 10:29:33 · 855 阅读 · 1 评论 -
MySQL8搭建MGR单主模式
一、介绍MGR(MySQL Group Replication)复制,一开始就把SQL发送到从结点,主从结点同时进行冲突检查,这过程为称为certify,certify是检查比较两个并发事务写操作时的数据集,检查比较是行级别的。解决事务冲突办法,先执行结束的事务commit,后执行结束的事务rollback。实现数据最终一致性。在单机模式下,主结点挂掉后,从结点会选举新主结点,旧主结点从集群中剔除。选举采用paxos算法,投票超过一半当选。二、环境2.1 软件版本OS:C原创 2022-03-31 00:33:49 · 1416 阅读 · 0 评论 -
MySQL8搭建MHA一主两从
一、介绍MHA(Master High Availability)是MySQL高可用解决方案,用perl语言开发的管理工具,轮询探测MySQL主结点可用性,发现故障,自动转移故障,选一从结点提升为新的主结点,接替旧的主结继续对外提供服务,此过程对应用来说是透明的。在MHA中,MySQL主从高可用本质不变,仍是利用binlog发送到从结点,再relaylog重放实现数据同步,它是MySQL主从外挂,在故障情况下,主从手工切换工作自动化。MHA支持MySQL一主多从,但MySQL结点至少3个,也只支持一原创 2022-03-29 23:11:42 · 1460 阅读 · 0 评论 -
MySQL搭建双主双从
原理将主结点中binlog日志内容,实时传送到相邻结点relay log中,再在各主从数据库进行SQL重放,实现数据一致,主主之间互为主从,两主结点表中数据会同时有写操作,确保不产生唯一性约束冲突;主要问题解决唯一性约束冲突,数据表定义自增长字段,一主结点奇数增长,一主结点偶数增长,也可应用程序算法实现,或引入第三方软件实现,只要能解决两主结点写操作不产生唯一性约束冲突;规划架构环境主机 IP 类型 server id mysql8_1原创 2022-03-27 14:22:06 · 1545 阅读 · 0 评论 -
MySQL搭建主从(一主一从)
原理:将主结点中binlog日志内容,实时传送到从结点relay log中,再由SQL线程解析执行,从而改变从结点MySQl中的数据,达到主从数据一致;环境介绍:MySQL版本:8.0.28 MySQL Community Server - GPL操作系统:CentOS 71、规划主机 IP 类型 mysql8_1 172.17.0.12 主 mysql8_2 172.17.0.13 从 2、安装MySQL,主从上都执行如下2命令,等待完成原创 2022-03-26 13:28:05 · 4683 阅读 · 0 评论 -
MySQL用binlog日志恢复数据
原理:binlog日志保存的是数据变化的DDL和DML SQL,并在每条SQL打上了时间缀和标记,所以可以指定时间和标记,找到指定SQL,恢复特定数据。实战:从删库到恢复,不用再跑路。1、建库建表准备数据再删库mysql> flush binary logs;Query OK, 0 rows affected (0.01 sec)mysql> create database mydb;Query OK, 1 row affected (0.00 sec)mysql&原创 2022-03-25 15:07:58 · 1077 阅读 · 0 评论