翔云

Just try, don't shy. 最新文章请点击
随笔 - 294, 文章 - 0, 评论 - 27, 阅读 - 49万
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

随笔分类 -  MySQL

摘要:什么是sysbench? sysbench是一款基于LuaJIT的多线程基准测试工具,它最常用于数据库基准测试,但也可用于创建不涉及数据库服务器的任意复杂工作负载。 主要功能包括: oltp_*.lua: OLTP类数据库压测工具集 fileio: 文件系统级基准测试 cpu: CPU基准测试 me 阅读全文

posted @ 2021-09-12 22:51 翔云123456 阅读(159) 评论(0) 推荐(0) 编辑

摘要:《MySQL 高可用 MySQL High Availability》 本书使用的示例代码可以 这里下载。 博主下载后,上传到CSDN了,方便大家使用。 代码目录截图: CSDN 下载地址 mysql-replicant-python.zip 阅读全文

posted @ 2021-08-29 17:31 翔云123456 阅读(54) 评论(0) 推荐(0) 编辑

摘要:1.关于stop slave后,事务执行结果 如果从库上SQL线程正在应用relay log,或者说正在执行一个事务,此时如果stop slave,那么这个事务执行结果会是什么,完成还是未完成? 由于事务的原子性,可以这么说,事务要么执行完成,要么回滚。 先说结论,事务执行结果有两种: 执行完成 未 阅读全文

posted @ 2021-08-15 22:42 翔云123456 阅读(136) 评论(0) 推荐(0) 编辑

摘要:上一篇文章stop slave卡住,初步介绍了stop slave的问题现象以及一些原因。 本文介绍另外一种情况:大事务。 下面将演示遇到大事务时,从库stop slave卡住。 MySQL测试集群:一主一从。 主库、从库执行操作如下。 1.主库数据准备 首先,新建表 CREATE TABLE `a 阅读全文

posted @ 2021-08-07 23:08 翔云123456 阅读(223) 评论(0) 推荐(0) 编辑

摘要:所谓大事务,是指执行过程比较长的事务。 例如,执行超过5s,10s,1min。。。。 一个事务可以有多个event,也可以只有一个event。 本文主要介绍如何模拟一个有多个event的大事务。 创建表 建表sql CREATE TABLE `apple_test` ( `id` int(11) N 阅读全文

posted @ 2021-08-07 22:12 翔云123456 阅读(262) 评论(0) 推荐(0) 编辑

摘要:1.什么是errant 在主从复制中,会在主库上写入数据,接着从库复制主库写入的数据。 如果直接在从库上写入数据,从库中数据就会与主库不一致,出现 errant。 errant 问题,主从数据不一致,需要及时发现和治理。 如何判断 是否出现errant 呢? 看起来比较简单,就是判断 从库 gtid 阅读全文

posted @ 2021-06-13 22:56 翔云123456 阅读(130) 评论(0) 推荐(0) 编辑

摘要:为了更加准确的理解MySQL原理,很多时间需要查看文档和阅读源码。如果文档中,描述模糊,就需要查看代码进行确认。 本文简单介绍下,在Mac OS 环境下,如何高效的阅读MySQL源码。 1.下载MySQL源码 在github上找到release列表,选择需要下载的版本。 本文这里下载的是5.7.26 阅读全文

posted @ 2021-06-05 15:22 翔云123456 阅读(676) 评论(0) 推荐(0) 编辑

摘要:几个sql的执行情况汇总如下表: 指令 已存在 不存在 insert 报错 插入 insert ignore 忽略 插入 insert into on duplicate key update 更新 插入 insert ignore into on duplicate key update 更新 插 阅读全文

posted @ 2021-02-28 23:11 翔云123456 阅读(113) 评论(0) 推荐(0) 编辑

摘要:问题 当主库上数据的某些变更,不希望复制到从库上时,经常会将sql_log_bin关闭,使更新操作不记录bin log。 例如,在一个连接会话开始的时候,关闭sql_log_bin,接下来,这个连接上执行的更新操作都不记录bing log。 为了保证,关闭sql_log_bin和更新操作,是在同一个 阅读全文

posted @ 2021-02-28 16:24 翔云123456 阅读(367) 评论(0) 推荐(0) 编辑

摘要:1.什么是事务? 数据库事务( transaction)是访问并可能操作各种数据项的一个数据库操作序列,这些操作要么全部执行,要么全部不执行,是一个不可分割的工作单位。事务由事务开始与事务结束之间执行的全部数据库操作组成。--百度百科 例如,转账就是一个事务,它由两个操作组成: 将款项从第一个账户划 阅读全文

posted @ 2021-02-28 14:48 翔云123456 阅读(210) 评论(0) 推荐(0) 编辑

摘要:sql_log_bin表示当前会话是否记录 bin log,默认值on。 打开和关闭sql_log_bin: SET sql_log_bin = {OFF|ON} 当sql_log_bin关闭后,主库服务器上的改动不记录bin log,不会复制到从库。 全局的sql_log_bin是只读的,不能修改 阅读全文

posted @ 2021-02-09 19:25 翔云123456 阅读(524) 评论(0) 推荐(0) 编辑

摘要:read_only 表示是否允许普通用户写入。如果为on,表示禁止普通用户写入。 super_read_only 表示是否禁止超级用户写入,包括普通用户,即针对所有用户。 默认关闭。 如果打开 super_read_only,则read_only会自动打开。 如果关闭 read_only,则 sup 阅读全文

posted @ 2021-02-08 23:15 翔云123456 阅读(387) 评论(0) 推荐(0) 编辑

摘要:general log 是MySQL 日志的一种,它会记录MySQL执行的每条SQL,非常详细。 但对MySQL性能有影响,为了性能考虑,一般general log不会开启,除非排查问题。 开启general log有两种方式。 1.修改变量 这种方式,修改后,会立即生效。 重启mysql服务后,会 阅读全文

posted @ 2020-12-05 21:27 翔云123456 阅读(466) 评论(0) 推荐(0) 编辑

摘要:首先看下,GTID 是什么。 GTID(global transaction identifier),是全局事务标识,它具有唯一性,一个事务对应一个GTID。一个GTID在一个服务器上只执行一次。 GTID表示方式:server_uuid:sequence number。例如,2a264578-f8 阅读全文

posted @ 2020-11-28 23:16 翔云123456 阅读(116) 评论(0) 推荐(0) 编辑

摘要:上篇文章关于golang database_sql 包讲述了 database/sql 的整体设计框架。 本文简要介绍go-sql-driver/mysql的调用关系,是如何与database/sql关联起来的,包括从驱动注册到具体查询,每个步骤的底层调用。 我们查询MySQL的大体代码demo如下 阅读全文

posted @ 2020-11-01 22:59 翔云123456 阅读(1045) 评论(0) 推荐(1) 编辑

摘要:(目录) 1.主从复制原理 在MySQL主从复制中,大体上有三个线程,master端有一个dump 线程,slave端有两个线程,i/o 线程和sql线程。 当有数据写入后,master 端的dump线程将bin log发送到slave端的io线程,i/o线程接收后,将其存放在本地的relay lo 阅读全文

posted @ 2020-10-07 23:15 翔云123456 阅读(194) 评论(0) 推荐(0) 编辑

摘要:在MySQL主从架构集群中,如果主库发生故障,需要立刻提升一个从库为新主库。在这个过程中,有一个操作是在从库上执行stop slave停止复制的操作,一般情况下,会非常顺利。 但也有特殊情况下,会遇到stop slave被卡住的问题。 这样,给故障恢复过程造成了一定的困扰。 本文模拟一种stop s 阅读全文

posted @ 2020-09-26 23:38 翔云123456 阅读(1010) 评论(0) 推荐(0) 编辑

摘要:问题 设置半同步复制变量时报错 mysql> set global rpl_semi_sync_master_enabled = 0; ERROR 1193 (HY000): Unknown system variable 'rpl_semi_sync_master_enabled' 或者 mysq 阅读全文

posted @ 2020-09-20 21:03 翔云123456 阅读(1267) 评论(0) 推荐(0) 编辑

摘要:Orchestrator是基于Raft的分布式集群。 现在原有三节点集群基础上,新扩容两个节点。 所有节点更新配置文件,并重启后,新的节点无法加入集群。 新节点报错信息; 2020/09/04 15:22:53 [WARN] raft: Heartbeat timeout from "" reach 阅读全文

posted @ 2020-09-06 15:57 翔云123456 阅读(225) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示