mysql
文章平均质量分 91
隔壁master王
本人较懒,喜欢记录下来,用的时候不费脑子。
展开
-
MySQL工作中常见的基本参数优化
Cache缓存和buffer缓存cache缓存的内容一般都是一些频繁访问但是变更较少的数据,如果cache缓存满了,mysql将淘汰最近最久没有使用的page页,然后将正在使用的page页加载到cache缓存。 Buuer缓存主要用于缓冲写,缓存的数据是即将被写入硬盘的,用于加速写。 全局缓冲 会话缓存 临时缓存 超时:连接超时 锁等待超时 show vari原创 2016-05-30 14:40:48 · 2340 阅读 · 0 评论 -
GTID复制技术
GTIDs全局事务标识符:是mysql5.6.5新加的技术无论在master上提交事务,还是在slave上应用,每一个事务都可以被识别并跟踪 添加新的salve或者将slave提升为master都不需要考虑以哪一个二进制日志和哪一个position 1、完全基于事务的,所以不支持myisam引擎,可能导致多个GTIDs分配给同一个事务2、Create table .....原创 2016-12-12 15:50:23 · 1420 阅读 · 0 评论 -
innodb mvcc理解
MySQL到底是怎么实现MVCC的?这个问题无数人都在问,但google中并无答案,本文尝试从Mysql源码中寻找答案。 在Mysql中MVCC是在Innodb存储引擎中得到支持的,Innodb为每行记录都实现了三个隐藏字段:6字节的事务ID(DB_TRX_ID )7字节的回滚指针(DB_ROLL_PTR)隐藏的ID6字节的事物ID用来标识该行所述的事务,7字节的回滚转载 2017-01-05 11:16:00 · 3000 阅读 · 0 评论 -
MHA+lvs+keepalived线上生产环境
环境:MHAmanager 10.10.58.17master主 10.10.39.172slave01(备主) 10.10.39.19 slave02 10.10.42.148master VIP 10.10.3.117LVS+keepalivedlvs主 10.10.58.17lvs从 10.10.17.182keepali原创 2017-02-17 10:39:04 · 4825 阅读 · 0 评论 -
MHA故障切换方案
mha故障切换当master 挂掉后会自动切换到slave01上去,可以看 tailf /var/mha_log/manager.log4个问题:1,切换后且原master01mysql服务启动OK,如何加入到以slave01为主的mha架构中? grep -i change /var/mha_log/manager.logFri Dec 25 04:07:32 2015 -原创 2017-02-17 11:05:27 · 2921 阅读 · 0 评论 -
理解MySQL启动过程及常见启动故障处理
Mysql启动配置文件加载路径Mysql启动的方式Mysql启动的内部流程常见启动故障及分析过程 Mysql可以读取到的配置文件路径顺序/etc/my.cnf---->/etc/mysql/my.cnf----->/usr/local/mysql/etc/my.cnf---->~/.my.cnf *后面配置文件会覆盖前面配置文件设置的参数如果/etc/my.cnf配置文原创 2017-02-17 11:52:18 · 6355 阅读 · 0 评论 -
基于binlog恢复工具mysqlbinlog_flashback
基于binlog恢复工具mysqlbinlog_flashback简介mysqlbinlog_back.py 是在线读取row格式的mysqld的binlog,然后生成反向的sql语句的工具。一般用于数据恢复的目的。 所谓反向的sql语句就是如果是insert,则反向的sql为delete。如果delete,反向的sql是insert,如果是update, 反向的sql还是upda原创 2017-02-21 15:53:30 · 7039 阅读 · 0 评论 -
每日参数:innodb_fast_shutdown
innodb_fast_shutdown有3个值:默认是1 可选0 1 2支持全动态局设置使用场景:在做数据库关闭升级的时候 set global innodb_fast_shutdown=0,这个时候能最大保障数据的完整性。设置为1:关闭MySQL的时候不会做清除脏页和插入缓冲区的合并操作,也不会将脏页刷新到磁盘设置为0:会做清除脏页和插入缓冲区的合原创 2017-11-02 10:16:48 · 5541 阅读 · 0 评论 -
RESET MASTER 和RESET SLAVE区别
RESET MASTER删除所有index file 中记录的所有binlog 文件,将日志索引文件清空,创建一个新的日志文件,这个命令通常仅仅用于第一次用于搭建主从关系的时的主库,注意 reset master 不同于purge binary log的两处地方1 reset master 将删除日志索引文件中记录的所有binlog文件,创建一个新的日志文件 起始值从0000转载 2016-11-11 10:49:38 · 660 阅读 · 0 评论 -
mysql5.6解决binlog为row格式时增长量过大问题
binlog_format为row格式的时候记录的不是简单的sql,而是实际变更的行,一些大的DDL操作,会导致binlog量增加很大,消耗额外的IO、网络资源可以通过设置binlog_row_image=minimal解决测试:binlog_row_image默认值是full对user表进行update进入binlog里面查看更原创 2016-11-10 10:16:59 · 3546 阅读 · 0 评论 -
采用硬链接快速删除大表测试
MySQL版本5.5安装环境是ubuntu12.041、安装sysbench创建一张5000w行的表apt-get install sysbenchnohup sysbench --test=oltp --mysql-table-engine=innodb --mysql-db=test --oltp-table-size=50000000 --mysql-user=root --m原创 2016-10-13 12:21:36 · 1695 阅读 · 1 评论 -
数据库备份策略
环境:Master:10.10.14.77Slave:10.10.111.176 一、整库全备策略Master 备份时间:4-5点备份机制:全备备份周期:礼拜一 礼拜二 礼拜四 礼拜六 礼拜天(礼拜三 礼拜五不备份)备份数据会生成下载链接,本地DELL服务器会在每天20:55分将当天备份进行下载本地 Slave 备份时间:6-7点备原创 2016-05-30 14:44:27 · 5484 阅读 · 0 评论 -
MySQL服务器参数优化
配置mysql内存步骤1 确定可以使用的内存上限2 确定每个连接mysql需要多少内存,例如排序缓冲和临时表相对于最坏情况考虑,更好的是观察服务器在真实压力的情况下使用了多少内存,可以观察top命令的virit列3 为操作系统保留内存,至少保留1-2G,建议2G和5%中的较大者4 为缓存分配内存4.1 innodn缓冲池4.2 innodb日志文件盒myisam的操作系转载 2016-05-30 16:37:20 · 516 阅读 · 0 评论 -
MySQL第三方备份工具xtrabackup使用
环境:centos6.5 64位Percona工具套件Xtrabackup的优点:支持对innodb进行热备份对mysql做增量备份在线表迁移创建mysql replication更加容易备份不增加服务器的负载安装依赖:yum install libnuma* yum install perl-DBI yum install perl-DBD原创 2016-06-03 18:08:23 · 2006 阅读 · 0 评论 -
innodb事务日志详解
Mysql会最大程度的使用缓存机制来提高数据库的访问效率,但是万一数据库方式断电,因为缓存的数据没有写入磁盘,导致缓存在内存中的数据丢失而导致数据不一致怎么办? Innodb主要是通过事务日志实现ACID特性事务日志包括:重做日志redo和回滚日志undo Redo记录的是已经全部完成的事务,就是执行了commit的事务,记录文件是ib_logfile0 ib_logfile1原创 2016-06-22 15:35:16 · 9357 阅读 · 0 评论 -
MySQL备份innodbackupex使用
Innodbackupex备份 这个可以对innodb和myisam引擎文件都备份 第一步 进行对数据库完整备份,将备份保存在/data/innodbackup/目录 innobackupex --defaults-file=/usr/local/mysql/my.cnf --user=root --password=ucloud.cn /data/innodbac原创 2016-06-05 22:06:50 · 4953 阅读 · 0 评论 -
备份恢复以及replication复制问题
1、防止数据丢失的最有效的方法是什么?对于mysql数据库而言,如何创建数据副本?最有效的方法就是定期对原始数据进行备份,创建原始数据的副本,当原始数据丢失时,利用副本恢复数据。创建数据副本的方式有三种:数据备份、使用二进制日志(数据丢失时,通过对完全备份进行二进制日志的重做,可以完成基于时间点或者操作点的恢复)、数据库复制。2、什么是逻辑备份以及物理备份?什么是冷备份,温备份以及原创 2016-06-22 14:13:11 · 1678 阅读 · 1 评论 -
innodb元数据锁解释
什么是元数据锁?其实在mysql 5.5.3开始之后的版本,针对innodb表,任何已经开始的事务将一直持有元数据锁,一直到事务提交,另外使用alter对表结构进行修改的时候,也会持有元数据锁,直到alter语句结束。1、创建一张innodb引擎的测试表插入2行数据mysql> insert into db1 values(1,'小明'),(2,'小刚');原创 2016-06-23 12:12:16 · 1231 阅读 · 0 评论 -
MySQL5.7半同步复制技术
Mysql的复制分为4种:1、异步复制replication2、Semi-sync replication 半同步复制 性能结余异步和全同步之间3、Sync replication 全同步4、Mysql cluster 基于NDB引擎 普通异步复制理解:正常的复制为:事务一(t1)写入binlog buffer;dumper 线程通知slave有新的事务t1;binl原创 2016-07-20 14:50:02 · 2085 阅读 · 0 评论 -
MyFlash-DML回滚工具
一、简介MyFlash是由美团点评公司技术工程部开发维护的一个回滚DML操作的工具。该工具通过解析v4版本的binlog,完成回滚操作。相对已有的回滚工具,其增加了更多的过滤选项,让回滚更加容易项目地址:https://github.com/Meituan-Dianping/MyFlash二、安装安装环境:centos7 64原创 2017-11-23 17:01:22 · 3038 阅读 · 0 评论