-
MySQL 最容易忽视的常识
所属栏目:[MySql教程] 日期:2022-03-28 热度:142
开发反馈一个表的数据大小已经130G,对物理存储空间有影响,且不容易做数据库ddl变更。咨询了开发相关业务逻辑,在电商业务系统中,每笔订单成交之后会有一条对应的订单物流信息,因此需要设计一个物流相关的表用来存储该订单的物流节点信息,该表使用text字[详细]
-
mysql之 MySQL 主从基于 GTID 复制原理阐述
所属栏目:[MySql教程] 日期:2022-03-28 热度:131
mysql之 MySQL 主从基于 GTID 复制原理概述: 一、 什么是GTID ( Global transaction identifiers ): MySQL-5.6.2开始支持,MySQL-5.6.10后完善,GTID 分成两部分,一部分是服务的UUid,UUID保存在mysql数据目录的auto.cnf文件中, 这是一个非常重要的文[详细]
-
MySQL执行计划explain的key_len剖析
所属栏目:[MySql教程] 日期:2022-03-28 热度:80
当用Explain查看SQL的执行计划时,里面有列显示了 key_len 的值,根据这个值可以判断索引的长度,在组合索引里面可以更清楚的了解到了哪部分字段使用到了索引。下面演示中,表结构的合理性这边暂且不说,只是证明一下索引长度的计算方法。目前大部分博文是[详细]
-
如何确认Single-Primary模式下的MGR主节点
所属栏目:[MySql教程] 日期:2022-03-28 热度:117
MySQL 5.7 可以通过global status group_replication_primary_member 确定 root@db20:59: [mgr] SELECT VARIABLE_VALUE - FROM performance_schema.global_status - WHERE VARIABLE_NAME = group_replication_primary_member; +--------------------------[详细]
-
mysql 大事物commit慢造成全库堵塞难题
所属栏目:[MySql教程] 日期:2022-03-28 热度:111
原创转载请注明出处 本文使用引擎INNODB版本MYSQL5.7.13 sync_binlog = 1 innodb_flush_log_at_trx_commit = 1 也就是双1设置, 1、问题由来 在线上环境一次同事删除了1000W的数据,在commit的时候,整个数据库 大约有几十秒的全部hang住的情况,本文就是[详细]
-
MySql入门基本知识
所属栏目:[MySql教程] 日期:2022-03-28 热度:145
MySql入门--基础知识: 一、Mysql 物理文件组成 (一)日志文件 1、错误日志:Error Log 错误日志记录了MyQL Server 运行过程中所有较为严重的警告和错误信息,以及MySQLServer 每次启动和关闭的详细信息。在默认情况下,系统记录错误日志的功能是关闭的,[详细]
-
MySQL案例--磁盘空间不够 MTS Group recovery失败
所属栏目:[MySql教程] 日期:2022-03-28 热度:158
线上业务,最后一次内测阶段; 背景:MySQL-5.7.12 问题发生的现象: 收到报警信息,业务主库A的心跳检测失败,将备库B升级为业务主库; 问题发生的原因: 业务主库A的数据文件目录的磁盘空间剩余量为0%; 与此同时,不管是start slave还是change master都[详细]
-
MYSQL CLENT SERVER数据包传输及net packet buffer用途解析
所属栏目:[MySql教程] 日期:2022-03-28 热度:94
水平有限再加上源码的复杂性,难免出现错误,请共同研究予以纠正 本文参考源码: Net_serv.cc(主要参考) Mysql.h.pp Mysql_socket.h Violite.h Viosocket.c Vio.c 参考书籍: 深入理解MYSQL核心技术 MYSQL核心内幕 internals-en MYSQL官方手册 LINUX系统编[详细]
-
计算mysql buffer的命中率及使用率
所属栏目:[MySql教程] 日期:2022-03-28 热度:58
MyISAM Key buffer命中率: 100 - ( (Key_reads * 100) / Key_read_requests ) MyISAM Key buffer的使用率: 100 - ( (Key_blocks_unused * key_cache_block_size) * 100 / key_buffer_size ) InnoDB Buffer Pool 的命中率 (Innodb_buffer_pool_read_reque[详细]
-
MySQL 5.7中新增sys schema后,会有什么变化
所属栏目:[MySql教程] 日期:2022-03-28 热度:51
MySQL 5.7中引入了一个新的sys schema,sys是一个MySQL自带的系统库,在安装MySQL 5.7以后的版本,使用mysqld进行初始化时,会自动创建sys库,sys库里面的表、视图、函数、存储过程可以使我们更方便、快捷的了解到MySQL的一些信息,比如哪些语句使用了临时[详细]
-
关于mysql中root权限丢失的问题
所属栏目:[MySql教程] 日期:2022-03-28 热度:57
听说执行了一条语句:revoke all on *.* from root@localhost; --呵呵,当时到底是怎样的心理活动,这是怎样的恨。。。 于是小菜就做了一个实验,心里感觉应该和密码丢失后跳过权限重新设置密码的解决方法是一样的,当然这只是思路,试试才知道。 首先停止[详细]
-
MySQL 5.6对大表做归档
所属栏目:[MySql教程] 日期:2022-03-28 热度:78
环境:MySQL 5.6 主从环境(Keepalived架构) 4000W行大表进行历史数据归档。 方案:为尽量降低对业务影响,决定采取下列方案。 1、在主库建立 2016、2017、2018、2019的4个历史表结构。 2、在从库建立test库,并建立 2016、2017、2018、2019的4个历史表结[详细]
-
MySQL5.7新版本的运维,性能和新特性介绍
所属栏目:[MySql教程] 日期:2022-03-28 热度:164
运维 在线启停GTID 在线配置Replication Filter,无需重启 Change Master到另外一个主库无需停止apply线程 Change Master修改一些日志apply属性(例如master_delay)无需停止IO线程 增加大量Performance Schema表用于监控复制 性能 更好的复制性能(logical[详细]
-
msyql 的半同时复制
所属栏目:[MySql教程] 日期:2022-03-28 热度:182
mysql的半同步复制: mysql的异步复制:mysql默认使用异步方式进行同步,master在执行客户端提交的事务后会将结果返回给客户端,表示客户端的操作已经生效,同时会将该操作的binlog通过dumper通知slave来取,再正常情况下,slave会将该binlog写入本地,并[详细]
-
mysql备份恢复实例丢失事务解析
所属栏目:[MySql教程] 日期:2022-03-28 热度:85
看到了一篇server id导致mysql备份恢复的时候丢失事务的文章,特此重现一下。 主备开启了GTID,实验过程如下: 1.主库执行: create database test1; create database test2; 2.主从没有延迟后备份,利用从库备份,物理或者逻辑都可以: mysqldump -uroot[详细]
-
聊聊MySQL死锁
所属栏目:[MySql教程] 日期:2022-03-28 热度:77
数据越来越和我们的生活离不开,数据在生命周期的各个阶段有着不同的痛点和需求以及特殊场景。 CURD是数据的四大基本需求:写入,更新,读取,删除. 今天,来谈一谈死锁问题 死锁是高并发下MySQL不可回避的一个问题。 这句话可以引申四个问题: 1.什么是死锁[详细]
-
mysql5.6 — mysql5.7 GTID模式下多源复制之实践案例
所属栏目:[MySql教程] 日期:2022-03-28 热度:93
背景说明:公司有多个mysql实例,单实例多个数据库,而且版本还是5.6,这给数据查询分析增加了不少繁琐的事情。所以推荐使用mysql5.6的实例多源复制到mysql5.7实例下方便数据的查询、分析以及权限的管理 环境说明:10.89.3.224 mysql5.6.39 master1 10.89.3[详细]
-
heartbeat 3.0.4-drbd 8.9-Mysql 5.6--双机互备高可用布局
所属栏目:[MySql教程] 日期:2022-03-28 热度:88
heartbeat 3.0.4-drbd 8.9-MySQL 5.6协同工作原理:首先,heartbeat作为高可用的控制角色,负责drbd存储服务目录的挂载(这里,drbd的启动个人理解是随主机启动自动启动的,其作用就是将主节点本地的一块盘与对端备节点的一块盘做数据同步、保证两端主机dr[详细]
-
mysql innodb 主键INT、BIGINT、VARCHAR并发插入性能比较
所属栏目:[MySql教程] 日期:2022-03-28 热度:171
10个并发共插入10万行 总耗时(s) 第一次 第二次 第三次 NT(-2147483648-2147483647) 198.13 197.25 197.56 BIGINT(-9223372036854775808-9223372036854775807) 195.83 197.75 197.85 VARCHAR[0-65535] 203.95 205.37 202.87 INT与BIGINT相差不大,VARCHAR[详细]
-
mysql忘记root密码解决方式 linux
所属栏目:[MySql教程] 日期:2022-03-28 热度:103
mysql忘记root密码解决方式: 1.强制关闭mysql # pkill mysql 2.向配置文件添加 [mysqld] skip-grant-tables 3.重启mysql 点击(此处)折叠或打开 # /usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf --user=mysql [1] 29335 [root@mysql5 log[详细]
-
mysql慢查询和错误日志剖析
所属栏目:[MySql教程] 日期:2022-03-28 热度:190
mysql慢查询和错误日志分析和告警查看比较麻烦,目前的慢查询告警都是仅仅反应慢查询数量的。 我们做了一个慢查询日志告警和分析的程序 后台使用filebeat日志文件托运工具,将日志传输到redis数据库。filebeat默认使用es。定时器1分钟执行一次。 vi /etc/f[详细]
-
Centos7编辑安设mysql
所属栏目:[MySql教程] 日期:2022-03-28 热度:177
数据库的必要性:使用数据库可以高效且条例分明的存储数据,使人们能够更加迅速、方便管理数据。 数据库的3个特点: 可以结构化存储大量的数据信息,方便用户进行有效的检索和访问。 可以有效的保持数据信息的一致性,完整性,降低数据冗余。 可以满足应用[详细]
-
MySQL8.0之跳跃区域扫描
所属栏目:[MySql教程] 日期:2022-03-28 热度:125
跳跃范围扫描是MySQL在8.0.13版本新增加的用于提高性能的新特性,跳跃范围扫描可以使以前部分无法使用到联合索引的SQL利用联合索引进行查询,并且可以更高效的利用联合索引,这对于使用MySQL联合索引进行查询的应用意义重大。 | 环境信息 MySQL版本:8.0.1[详细]
-
mysql repair with keycache 的一个处置
所属栏目:[MySql教程] 日期:2022-03-28 热度:156
今天一个朋友让我帮他处理以下1张3.78亿数据的表,需要导出2010年的数据到另外1张表,我查了下2010年的数据就有1.8,然后我修改了一下my.cnf的部分参数:[@more@] myisam_sort_buffer_size = 1024M tmp_table_size = 256M tmpdir = /back1/dzy_bak myisam_[详细]
-
InnoDB行溢出数据解说
所属栏目:[MySql教程] 日期:2022-03-28 热度:83
先说下MySQL数据库的varchar字段,真的很实用,它可以存放65536字节的数据,比oracle和sqlserver大多了,但是在使用varchar时也有几点要注意; 1、65536只是这么说,要建表的时候指定一个字段65536仍然会报错,因为字段本身还有其他开销,实际只能存放6553[详细]