-
MVCC 在RC 和 RR 隔离级别下的工作机制
所属栏目:[MySql教程] 日期:2022-03-24 热度:124
MVCC 在RC 和 RR 隔离等级下的工作机制: 一.数据行隐藏列 innodb为每行记录都实现了三个隐藏字段 6字节的事务ID(DB_TRX_ID) 7字节的回滚指针(DB_ROLL_PTR) 隐藏的ID 事务1修改行值过程: X锁锁定该行 - 记录redo log - 把该行修改前的值copy至undo -[详细]
-
MYSQL中对信号的处置 SIGTERM,SIGQUIT,SIGHUP等
所属栏目:[MySql教程] 日期:2022-03-24 热度:121
原创,因为LINUX系统编程水平有限某些用词不当请指出 一、信号处理以及多线程先信号处理基础知识 在LINUX中信号是一种由内核处理的一种软中断机制,他满足简单、不能携带大量信息、并且要满足一定条件才会发送等特征。 信号会经历产生--阻塞信号集--未决信[详细]
-
mysql各个内存参数的介绍,分线程独享和全局分享两大类
所属栏目:[MySql教程] 日期:2022-03-24 热度:107
mysql的内存参数分别有两大类,一类是线程独享的内存,一类是全局共享的内存 线程独享内存:join_buffer_size、sort_buffer_size、read_buffer_size顺序读取数据缓冲区、read_rnd_buffer_size随机读取数据缓冲区、bulk_insert_buffer_size批量插入暂存使用[详细]
-
从Mysql slave system lock延缓说开去
所属栏目:[MySql教程] 日期:2022-03-24 热度:110
本文主要分析 sql thread中system lock出现的原因,但是笔者并明没有系统的学习过master-slave的代码,这也是2018年的一个目标,2018年我都排满了,悲剧。所以如果有错误请指出,也作为一个笔记用于后期学习。同时也给出笔者现在知道的几种造成延迟的可能[详细]
-
MySQL 高并发配备优化
所属栏目:[MySql教程] 日期:2022-03-24 热度:73
最近在搞一个报表系统,不是很负责,但是就是数据量比较大,单次写入上万条数据,加上在同一个事务里面,部署到linux服务器后,发现特别慢,后面发现mysql安装后没有优化配置文件,导致写入特别慢。服务器mysql版本: [root@localhost ~]# mysql -Vmysql V[详细]
-
Too many connections 举例一则
所属栏目:[MySql教程] 日期:2022-03-24 热度:127
Too many connections 案例一则: 一 前言 DBA 运维就是填坑的过程,其他人挖坑,自己填;自己挖坑,自己填,说多了都是泪。好吧言归正传,今天凌晨忙碌了一个通宵做IDC 交互机维护改造以及升级数据库服务器的事情,需要重启服务器。重启完成OS和重新部署[详细]
-
常驻查询引发的thread pool 性能难题
所属栏目:[MySql教程] 日期:2022-03-24 热度:69
常驻查询引发的thread pool 性能问题: 一 现象 某业务单机4个实例中的一个实例出现连接数远高于其他三个实例(正常是4K,问题实例是8K+),但是这4个实例的配置完全相同。业务开发反馈为部分连接失败。 执行show processlist结果显示: 存在大量的Killed[详细]
-
Mysql优化器对in list的处置
所属栏目:[MySql教程] 日期:2022-03-23 热度:104
select * from table where id in (....) 这样的查询,是走范围索引还是走等值索引? select * from table where key_part1 in (....) and key_part2=XX; 这样的查询,第二部分还走不走索引? 测试目的,想知道,MYSQL对IN LIST是如何选择执行计划的;在单[详细]
-
MSSQL数据库ndf文件大小变为0KB数据恢复步骤
所属栏目:[MySql教程] 日期:2022-03-23 热度:90
MSSQL数据库ndf文件大小变为0KB数据恢复步骤: 一、故障描述 成都某客户,存储损坏,数据库崩溃。重组存储,恢复数据库文件,发现有四个ndf文件大小变为0 KB。数据库大小约80TB。数据库中有1223个文件,数据库每10天生成一个NDF文件,每个NDF大约500GB,数[详细]
-
ERROR 1290 HY000 解决方法
所属栏目:[MySql教程] 日期:2022-03-23 热度:50
select * into outfile /home/update_testdbtest.txt from update_test; ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it cannot execute this statement mysql select * from update_test; +------+-------+[详细]
-
MySQL复制滞后、延迟问题及处理方法
所属栏目:[MySql教程] 日期:2022-03-23 热度:73
确认复制延迟的方法 Slave_IO_Running: Yes Slave_SQL_Running: Yes 确认一下两个线程是否运行,如果没有正常运行,确认一下错误日志里面的内容,然后使其运行。 接下来需要确认,是否 Master_log_file Relay_Master_Log_File Read_Master_Log_Pos Exec_Ma[详细]
-
MySQL slave 延缓一列 外键检测和自增加锁
所属栏目:[MySql教程] 日期:2022-03-23 热度:102
本文没有太多可读性,完全是自己的笔记 一、现象 延迟大,大事物。 表结构 MySQL:slave 延迟一列 外键检查和自增加锁 image.png 无IO MySQL:slave 延迟一列 外键检查和自增加锁 image.png SQL THREAD占用CPU 100% 二、pscak 采样 采样30个点 外键检查 占[详细]
-
mysql链接很多,批量删掉异常进程processlist
所属栏目:[MySql教程] 日期:2022-03-23 热度:72
正常情况发现一个进程异常的话。。 可以通过kill id 的方式杀掉进程 但是 如果 大批量的访问 删除方式 手工就杀不过来 处理方式(通过mysql -e 的方式得到异常的id,然后通过xargs命令传值给mysqladmin) 如果是生产环境 mysql -udba -p**** -h 192.1.1.1[详细]
-
MySQL8.0的MGR多主创建与测试
所属栏目:[MySql教程] 日期:2022-03-23 热度:190
环境: 虚拟机VMware, OS:CentOS Linux release 7.3.1611 (Core) 按照下述的单机Mysql8.0的安装方式进行安装完之后,将该机复制两台,分别修改IP为192.168.1.78和192.168.1.78,以及两台新机器配置文件/etc/my.cnf的serverid,还有要去数据路径下删掉aut[详细]
-
my.cnf文件关于组选项的归纳
所属栏目:[MySql教程] 日期:2022-03-23 热度:167
my.cnf文件关于组选项的总结: 1、[server]和[mysqld]的区别,没有看到官方文档,个人感觉server指整台服务器,mysqld指实例,当一台服务器上多个实例使用同一个配置文件my.cnf时,[server]通用于所有实例,[mysqld_3306] [[mysqld_3307] [mysqld_3308]对应[详细]
-
Mysql故障处置
所属栏目:[MySql教程] 日期:2022-03-23 热度:197
要过年了nnd问题也特别多,今天就碰到2个,一个是mysql复制进程往前走但数据不同步,一个是性能问题导致所有写和读的全部阻塞。[@more@] 手下做mysql复制,做好了之后发现read master position在不断移动,但是数据就是不同步。其实稍微理解一点mysql复制[详细]
-
percona-server-5.7.11-4源码安置手册
所属栏目:[MySql教程] 日期:2022-03-23 热度:66
MySQL5.7出来有段时间了,一直没时间玩玩,这两天有时间下了percona的装了下,发现还是有很多好玩的东西,下面是简单的源码安装记录(二进制安装比较简单,源码安装对OS包的依赖比较严重,尤其是zlib包,建议用RHEL6.5以上版本,本实验用的是centos7) 操[详细]
-
MYSQL order by排序导致效率低小优化
所属栏目:[MySql教程] 日期:2022-03-22 热度:154
有一个主表left join 同一个小表两次分页语句,因为order by 导致执行时做排序,从执行计划中Using filesort ,以及profile中creating sort index 耗时可以看出。 从trace文件可以看出filesort的计算: join_execution: { select#: 1, steps: [ { filesort[详细]
-
MySQL 完整安装配置
所属栏目:[MySql教程] 日期:2022-03-22 热度:62
创建用户和路径 1. 创建 MySQL 用户组和用户 # groupadd mysql # useradd -g mysql mysql 2.创建数据存储路径 # mkdir /data/dbfile # chown -R mysql.mysql /data/dbfile 安装 mysql 5.x.x.tar.gz 1.编译 默认字符集 扩展字符集 安装Innodb 指定数据存储[详细]
-
MYSQL 中的GROUP BY 的方式
所属栏目:[MySql教程] 日期:2022-03-22 热度:99
水平有限有误请指出,转载请说明出处 测试脚本: create table tgrploose(p_id int primary key auto_increment,s_id1 int,s_id2 int,s_id3 int, key(s_id1,s_id2,s_id3)); create table tgrpnloose(p_id int primary key auto_increment,s_id1 int,s_id2[详细]
-
主机cpu 之-sys使用率过高
所属栏目:[MySql教程] 日期:2022-03-22 热度:63
学习大神的http://mp.weixin.qq.com/s/hXtCzSnlVfo9Cq92538ipw自己整理一点思路 1.0top看cpu消耗,发现sys比usr要高不少,这非常不正常 1.1使用pstack看 MySQL所有线程的调用栈: InnoDB线程同步机制 我们知道linux线程同步有Mutex,spin lock,条件变量,rw lo[详细]
-
Linux系统mysql开机自启
所属栏目:[MySql教程] 日期:2022-03-22 热度:122
原由:自己电脑上装了虚拟机,虚拟机上有装有mysql数据库,因为电脑每天都要关机,第二天打开的时候还需要手动开启mysql服务,故做成自动启动。 步骤如下: 1,查看是否有mysql服务 [root@mysql1 ~]# chkconfig --list 2,进入mysql软件目录,复制mysql.se[详细]
-
Mysql在全局禁用自动提交
所属栏目:[MySql教程] 日期:2022-03-22 热度:132
有一个参数init_connect可以实现这个功能,这个参数用来定义每个session建立时自动执行的query,也就是初始化会话 根据这个参数,有3种方式禁用autocommit: mysql set global init_connect=SET autocommit=0; Query OK, 0 rows affected (0.00 sec) mysqls[详细]
-
在MySql中添加远程控制用户
所属栏目:[MySql教程] 日期:2022-03-22 热度:68
在MySql中添加远程控制用户(转)[@more@] 在安装MySql后只有一个超级管理权限的用户ROOT,而且ROOT限制只能在数据库本机上使用,如果我们要远程管理MySql咋办呢?那么事实上我们需要添加一个具有超级管理权限并且可能远程访问的超级用户,而在MySql中有两种[详细]
-
MYSQL 中 exists 语句执行效率变低
所属栏目:[MySql教程] 日期:2022-03-22 热度:145
在ORACLE 中,我们常常推荐使用exists 来替代in,往往也能取得比较好的优化效果。在ORACLE应用迁往MYSQL的过程中,我们发现部分in 的子查询语句带到MYSQL中,其执行效率变得非常低下,这很让人觉得匪夷所思。于是,我分析了一波。 对两个表,分别是一大一小[详细]
