MySQL运维
yzs87
专注于PostgreSQL、MySQL、GreenPlum及其生态
展开
-
360°全方位比较PostgreSQL和MySQL
360°全方位比较PostgreSQL和MySQL一、原文https://www.enterprisedb.com/blog/postgresql-vs-mysql-360-degree-comparison二、摘要本文对MySQL和PostgreSQL进行详细的比较,方便选择。1、为什么使用PostgreSQL2、为什么使用MySQL3、易用性4、语法5、数据...翻译 2020-01-18 20:53:14 · 936 阅读 · 0 评论 -
InnoDB数据字典详解-系统表
1、简介InnoDB中,实际上看不到系统表。有4个最基本的系统表来存储表的元数据:表、列、索引、索引列等信息。这4个表分别是SYS_TABLES、SYS_COLUMNS、SYS_INDEXES、SYS_FIELDS。下面分别介绍2、SYS_TABLES存储所有以InnoDB为存储引擎的表,每条记录对应一个表。该表的列分别是: NAME:表名 ID:表的ID号 N_COLS:表的列...原创 2018-04-05 21:39:39 · 1163 阅读 · 0 评论 -
Vitess User Guide - Introduction
Platform supportWe continuously test against Ubuntu 14.04 (Trusty) and Debian 8 (Jessie). Other Linux distributions should work as well.Database supportVitess supports MySQL 5.6, MariaDB 10.0, and any...转载 2018-03-07 20:41:23 · 445 阅读 · 0 评论 -
InnoDB事务锁之行锁-隐式锁转换显示锁举例理解原理
原创 2018-02-14 21:02:53 · 836 阅读 · 0 评论 -
InnoDB事务锁之行锁-insert唯一二级索引-隐式锁转换案例
1、表结构CREATE TABLE `t3` ( `id` int(11) NOT NULL, `id2` int(11) DEFAULT NULL, `id3` int(11) DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `id2` (`id2`,`id3`)) ENGINE=InnoDB DEFAULT CHARSET=utf...原创 2018-02-10 10:41:42 · 1143 阅读 · 0 评论 -
InnoDB事务锁之行锁-insert二级唯一索引插入duplicate案例
1、表结构CREATE TABLE `t3` ( `id` int(11) NOT NULL, `id2` int(11) DEFAULT NULL, `id3` int(11) DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `id2` (`id2`,`id3`)) ENGINE=InnoDB DEFAULT CHARSET=utf...原创 2018-02-09 21:11:10 · 536 阅读 · 0 评论 -
Group Replication Features backported to MySQL 5.7
转自https://mysqlhighavailability.com/group-replication-features-backported-to-mysql-5-7/We have brought further enhancement to MySQL Group Replication 5.7 release by backporting some most requested fea转载 2018-01-28 14:12:28 · 335 阅读 · 0 评论 -
MySQL8.0-新特性-role
一、简介role可以看做一个权限的集合,这个集合有一个统一的名字role名。可以给多个账户统一的某个role的权限权限的修改直接通过修改role来实现,不需要每个账户一个一个的grant权限,方便运维和管理。role可以创建、删除、修改并作用到他管理的账户上。二、案例1、创建表mysql> create table t1(id1 int primary key,id2 int);Query OK原创 2018-01-21 10:44:46 · 8787 阅读 · 0 评论 -
什么是僵尸进程,如何找到并杀掉僵尸进程?
http://mp.weixin.qq.com/s?__biz=MzAxODI5ODMwOA==&mid=2666541635&idx=1&sn=e3fd3a3982f0aeef58ba8dfa936dac55&chksm=80dcf6e8b7ab7ffe672ea6507bfc2be65f4545e2c5b63b1ddd5d8d48ba6e2b327aeff191e64b&mpshare=1&s转载 2017-12-17 15:00:19 · 3839 阅读 · 0 评论 -
数据库新动向 Oracle 与微软割据局面产生
转自:http://tech.it168.com/a2017/1120/3180/000003180443.shtml【IT168 评论】数据库是一个历久弥新的领域,每年有很多新的黑马产生,但是整体局面却又看不出大的变化。究其原因可能是老牌厂商占据了主要市场,新伙伴的加入只能稍改部分局面,却无法撼动大的格局。 今年,DB-Engines指数和数据库领域都有了一些新的变化,既有新的组合产生,也有高转载 2017-11-26 19:39:26 · 623 阅读 · 0 评论 -
mysqldump原理图
对于mysqldump过程中有哪些坑,如何避免,请参考http://geek.csdn.net/news/detail/210851这篇文章参考:https://www.cnblogs.com/cchust/p/5452557.htmlhttp://geek.csdn.net/news/detail/210851原创 2017-11-26 11:44:56 · 856 阅读 · 2 评论 -
InnoDB insert原理解析
原创 2018-04-30 10:58:44 · 1402 阅读 · 0 评论 -
InnoDB delete原理解析
原创 2018-04-30 17:05:20 · 2283 阅读 · 0 评论 -
InnoDB update原理解析
原创 2018-05-01 14:28:15 · 3139 阅读 · 0 评论 -
What's New in MariaDB 10.4
MariaDB 10.4是其当前的开发分支。 5月21日,10.4.5的RC release版本发布,距离正式版本发布越来越近。10.4的新特性也越来越值得关注。本文总结mariadb官方发布一些的博客内容。对应详细信息,可以细读MariaDB 10.4的changelog:https://mariadb.com/kb/en/library/mariadb-1040-changelog/性能提...翻译 2019-06-08 22:41:45 · 630 阅读 · 0 评论 -
《叶问》第4期
本文转自【知数堂】:https://mp.weixin.qq.com/s/eHkMsu0nGZHtVFEKb0Ehag2018年7月4日,周三如何优化Linux操作系统用于MySQL环境?一、初级玩法 1. 在BIOS及内核层面关闭NUMA 2. 在BIOS层面将CPU、内存均设置最大性能模式 3. 在BIOS层面关闭CPU节能模式 4. 修改IO Scheduler为de...原创 2018-07-15 10:38:44 · 446 阅读 · 0 评论 -
死锁案例三
1、环境说明MySQL5.6.33,隔离级别是RR。表结构及数据:create table t2 ( id int primary key auto_increment , c1 int , c2 int , key (c1)) engine=innodb ;insert into t2 values(24,3,4),(25,3,4),(26,3,4),(30,5,8);2、测试...原创 2018-07-14 22:30:15 · 631 阅读 · 0 评论 -
《叶问》第3期
本文转自【知数堂】:https://mp.weixin.qq.com/s/9Wiiw6UWTeARoLllFwUFkA2018年6月24日,周日MySQL 8.0相对于5.7的复制改进,都有哪些呢?宋利兵老师:《MySQL 8.0相对于5.7的复制改进》的公开课也讨论了这个命题,简单概括主要有两部分:一、普通复制功能改进 新增WRITESET并行复制模式,提高并行度,降低延迟 在多源复制中,可在线...转载 2018-07-08 18:33:15 · 328 阅读 · 0 评论 -
《叶问》第2期
2018年6月20日,周三为什么说pt-osc可能会引起主从延迟,有什么好办法解决或规避吗?若复制中binlog使用row格式,对大表使用pt-osc把数据从旧表拷贝到临时表,期间会产生大量的binlog,从而导致延时pt-osc在搬数据过程中insert...select是有行锁的,会降低事务并行度;且pt-osc搬数据过程中生成的binlog不是并行的,所以在slave不能并行回放可以通过设定...转载 2018-07-08 18:30:16 · 333 阅读 · 0 评论 -
死锁案例一
1、环境说明MySQL5.6.33,隔离级别是RR。表结构及数据:CREATE TABLE `t0` ( `id` int(11) NOT NULL AUTO_INCREMENT, `c` int(11) NOT NULL DEFAULT '0', `d` int(11) NOT NULL DEFAULT '0', PRIMARY KEY (`id`), KEY `c` (`c...原创 2018-07-01 16:08:11 · 1022 阅读 · 0 评论 -
InnoDB transaction history特性
InnoDB提供了两个参数innodb_max_purge_lag,innodb_max_purge_lag_delay 来调整,即当trx_sys->rseg_history_len超过了设置的innodb_max_purge_lag,就影响DML操作最大delay不超过innodb_max_purge_lag_delay设置的时间,以microseconds来计算。其核心算法是:该延迟的...原创 2018-06-10 21:30:19 · 536 阅读 · 2 评论 -
《叶问》第1期--知数堂技术小贴士
转自老叶茶馆:https://mp.weixin.qq.com/s/kPFUemQU6foGFNxIkhefsQ2018年6月10日,周日MySQL主从复制什么原因会造成不一致,如何预防及解决?一、导致主从不一致的原因主要有: 人为原因导致从库与主库数据不一致(从库写入)主从复制过程中,主库异常宕机设置了ignore/do/rewrite等replication等规则binlog非row格式异步复...转载 2018-06-24 16:26:31 · 631 阅读 · 0 评论 -
InnoDB undo tablespace使用及原理
前言Undo log是InnoDB MVCC事务特性的重要组成部分,对记录做了变更操作时会产生undo记录,默认存储到系统表空间中,但是从5.6开始,可以使用独立的undo表空间。Undo记录存储的是老版本数据,当一个旧事务需要读取数据时,为了能读取到老版本数据,需要顺着undo连找到满足其可见性的记录。当版本链很长时,可以认为这是要一个比较耗时的操作。大多数对记录的变更insert、update...原创 2018-05-20 15:48:22 · 2208 阅读 · 0 评论 -
mydumper工作原理解析
1、简介逻辑备份小钢炮--mydumper是针对MySQL的高性能多线程备份工具。该工具是由MySQL、Facebook、skysql公司的开发人员一起开发的。是由轻量级C语言开发;执行速度据说比mysqldump快10倍;支持事务和非事务表的一致性备份;还支持导出binlog;支持多线程备份;支持以守护进程的形式工作,定时备份;并且是开源的,其协议为GPLv3.2、使用方法root@dd:~/m...原创 2018-04-28 21:59:14 · 970 阅读 · 0 评论 -
mysqldump原理解析
mysqldump原理解析mysqldump过程中,server都执行了哪些操作呢?可以通过strace命令和打开general_log来查看。1、strace[mysql26@localhost ~]$ **strace mysqldump -uroot -p'db10$ZTE' --single-transaction --master-data=2 yzs t1 > 1.txt**exec原创 2017-11-26 11:39:39 · 2058 阅读 · 0 评论 -
mysql 5.7 Transparent PageIO Compression
上接上篇。本篇作为补充:原理innodb的透明页IO压缩,利用punch hole和数据压缩来实现。在内存中是一个正常的页,只有在写到磁盘时,才进行压缩。调用函数os_file_io_complete进行punch hole操作,os_file_io_complete调用的是fallocate()操作系统函数,并且使用 FALLOC_FL_PUNCH_HOLE | FALLOC_FL_KEEP_S原创 2017-12-13 19:56:51 · 748 阅读 · 0 评论 -
MySQL如何查看元数据锁阻塞在哪个语句上
操作步骤:1、session 1 执行: start transaction; select *from t1;2、session 2 在第1步执行完后执行: drop table t1;此时session 2的drop语句被阻塞。那么怎么分析查看元数据锁呢?方法:1)执行show processlist;,可以看到drop语句在等待元数据锁mysql> show pr原创 2017-10-18 21:10:35 · 7180 阅读 · 7 评论 -
宇宙最强MySQL测试
转自http://hatemysql.com/?m=201511这个宇宙最强大的MySQL测试方法就是一行命令:yes "DO 0;" | mysql >/dev/null &这个测试方法还可以支持多进程测试哦,那就是:for i in {1..16}; do yes "DO 0;" | mysql > /dev/null & done这里就开了16个并发同时测试mysql的性能好吧,到了揭露真相转载 2017-09-25 21:40:36 · 1486 阅读 · 0 评论 -
MySQL备份原理详解
转自http://www.lai18.com/content/7451979.html?from=cancel本文为大家介绍了MySQL备份原理,欢迎大家阅读。备份是数据安全的最后一道防线,对于任何数据丢失的场景,备份虽然不一定能恢复百分之百的数据(取决于备份周期),但至少能将损失降到最低。衡量备份恢复有两个重要的指标:恢复点目标(RPO)和恢复时间目标(RTO),前者重点关注能恢复到什么程度,而转载 2017-09-24 17:00:08 · 1002 阅读 · 0 评论 -
Why does MariaDB 10.2 use InnoDB instead of XtraDB?
Up until 10.1, MariaDB used Percona XtraDB as the default 'InnoDB' storage engine. From 10.2, InnoDB is the default. Why was this change made?直到10.1版本mariadb还在使用percona的xtradb作为默认的存储引擎。10.2版本开始不再使翻译 2017-06-26 22:08:31 · 1143 阅读 · 0 评论 -
mysql5.7 sys schema memory 统计的一个bug
http://mysqlserverteam.com/the-mysql-sys-schema-in-mysql-5-7-7/原创 2016-11-27 18:59:30 · 675 阅读 · 0 评论 -
学习使用MySQL 5.7的sys库--补充
Sys schema的数据来自information_schema和performance_schema,ps对性能影响很大,大概可以下降10%。所以不要在线上大量部署通过查询sys中视图来完成监控巡检工作。原创 2017-06-18 22:06:18 · 816 阅读 · 0 评论 -
学习使用MySQL 5.7的sys库
Sys库里的数据来源Sys库所有的数据源来自:performance_schema。目标是把performance_schema的把复杂度降低,让DBA能更好的阅读这个库里的内容。让DBA更快的了解DB的运行情况。 Sys库下有两种表字母开头: 适合人阅读,显示是格式化的数x$开头 : 适合工具采集数据,原始类数据 每类表大概介绍sys_开头是库里的配置表:sy转载 2017-06-18 22:00:35 · 9995 阅读 · 0 评论 -
sync、fsync、fdatasync知识点
1.缓冲区简介人生三大错觉之一:在调用函数write()时,我们认为该函数一旦返回,数据便已经写到了文件中.但是这种概念只是宏观上的.实际上,操作系统实现某些文件I/O时(如磁盘文件),为了保证I/O的效率,在内核通常会用到一片专门的区域(内存或独立的I/O地址空间)作为I/O数据缓冲区.它用在输入输出设备和CPU之间,用来缓存数据,使得低速的设备和高速的CPU能够协调工作避免低速的输入输出设转载 2017-05-26 22:45:30 · 1108 阅读 · 0 评论 -
xshell连接本机虚拟机里的Linux环境
1、在Linux环境里执行ifconfig查看其IP2、在xshell里配置对应的IP就可以3、配置登录用户和密码4、即可登录原创 2017-05-29 17:00:57 · 662 阅读 · 0 评论 -
MySQLTuner工具--效果
在阿里云博客看到一款性能统计工具,实验了一把,感觉有几项可以关注下。https://yq.aliyun.com/articles/52879?utm_content=m_14134[mysql26@localhost ~]$ ./tun --user root --socket /home/mysql26/bin/mysql.sock >> MySQLTuner 1.7.2 - Maj原创 2017-05-29 17:09:26 · 3131 阅读 · 0 评论 -
MySQL误删除文件后,如何恢复
MySQL在运行中,如果误删除数据文件,只有服务进程没有退出,那么就有办法将其恢复。首先介绍Linux下lsof:他可以显示打开的文件和网络连接。其次/proc目录包含了反映内核和进程树的各种文件。/proc/504目录包含的是PID是504的进程信息。通过ps命令查看进程的进程ID。两者结合可以将删除的文件恢复。1、表文件:[rdb@localhost yzs]$ lltotal 120-rw-原创 2017-10-21 20:28:51 · 4326 阅读 · 0 评论 -
MySQL忘记root密码怎么办
如果忘记了root密码,可以使用skip-grant-table参数进行修改密码,方法如下:1、在配置文件my.cnf中添加一行skip-grant-table,重启服务2、可以不使用密码进行登录,然后使用update命令更改密码3、重新将skip-grant-table从my.cnf中删除,重启服务此时可以使用新密码登录了。虽然这种方法可以方便忘记密码的人进行维护,但是这个是不是安全风险很高啊?原创 2017-10-21 20:46:05 · 570 阅读 · 0 评论 -
如何将两个表名对调
http://imysql.com/2014/10/31/mysql-faq-howto-exchange-two-table-name.shtml?f=http://blogread.cn/从MySQL手册里就能找到方法,那就是:同时锁定2个表,不允许写入,然后对调表名。我们通常只锁一个表,那么同时锁两个表应该怎么做呢,可以用下面的方法:LOCK TABLES t1 WRITE, t转载 2017-03-22 19:48:54 · 755 阅读 · 0 评论 -
MySQL mysqldump数据导出详解
转自https://www.cnblogs.com/chenmh/p/5300370.html介绍 在日常维护工作当中经常会需要对数据进行导出操作,而mysqldump是导出数据过程中使用非常频繁的一个工具;它自带的功能参数非常多,文章中会列举出一些常用的操作,在文章末尾会将所有的参数详细说明列出来。 语法:默认不带参数的导出,导出文本内容大概如下:创建数据库判断语句-删除表-创建表-锁表-禁用索转载 2017-11-25 18:24:19 · 807 阅读 · 0 评论