MySQL运维
记录MySQL使用过程中遇到的问题,欢迎交流
yzs87
专注于PostgreSQL、MySQL、GreenPlum及其生态
展开
-
《叶问》第1期--知数堂技术小贴士
转自老叶茶馆:https://mp.weixin.qq.com/s/kPFUemQU6foGFNxIkhefsQ2018年6月10日,周日MySQL主从复制什么原因会造成不一致,如何预防及解决?一、导致主从不一致的原因主要有: 人为原因导致从库与主库数据不一致(从库写入)主从复制过程中,主库异常宕机设置了ignore/do/rewrite等replication等规则binlog非row格式异步复...转载 2018-06-24 16:26:31 · 618 阅读 · 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 · 966 阅读 · 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 · 323 阅读 · 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 · 1134 阅读 · 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 · 3828 阅读 · 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 · 8752 阅读 · 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 · 329 阅读 · 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 · 512 阅读 · 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 · 733 阅读 · 0 评论 -
数据库新动向 Oracle 与微软割据局面产生
转自:http://tech.it168.com/a2017/1120/3180/000003180443.shtml【IT168 评论】数据库是一个历久弥新的领域,每年有很多新的黑马产生,但是整体局面却又看不出大的变化。究其原因可能是老牌厂商占据了主要市场,新伙伴的加入只能稍改部分局面,却无法撼动大的格局。 今年,DB-Engines指数和数据库领域都有了一些新的变化,既有新的组合产生,也有高转载 2017-11-26 19:39:26 · 613 阅读 · 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 · 2029 阅读 · 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 · 841 阅读 · 2 评论 -
MySQL mysqldump数据导出详解
转自https://www.cnblogs.com/chenmh/p/5300370.html介绍 在日常维护工作当中经常会需要对数据进行导出操作,而mysqldump是导出数据过程中使用非常频繁的一个工具;它自带的功能参数非常多,文章中会列举出一些常用的操作,在文章末尾会将所有的参数详细说明列出来。 语法:默认不带参数的导出,导出文本内容大概如下:创建数据库判断语句-删除表-创建表-锁表-禁用索转载 2017-11-25 18:24:19 · 796 阅读 · 0 评论 -
查看表的碎片空间并优化表文件
innodb在执行删除时,只是物理上做了被删除的标记,实际上并没有从数据文件中真正删除。即,所占用的空间也没有实际释放。后台的purge线程会定期清理这些已经删除的记录和文件,但并不会回收这些已经删除的空间给操作系统,即会在数据文件中产生许多空洞,数据文件也会越来越大。查看空洞的方法:通过SHOW TABLE STATUS的结果,查看实际数据Data_length和空洞数据Data_free的比例原创 2017-11-16 21:37:08 · 977 阅读 · 1 评论 -
Percona Server 5.7 并行doublewrite 特性
http://www.sohu.com/a/198636371_610509In this blog post, we’ll discuss the ins and outs of Percona Server 5.7 parallel doublewrite.在这篇文章中,我们将由里及外讨论Percona Server 5.7的并行doublewrite。After implementing p转载 2017-11-05 20:08:24 · 767 阅读 · 0 评论 -
MySQL8.03 RC 已发布
http://www.sohu.com/a/201667615_610509The MySQL 8.0.3 Release Candidate is availableMySQL8.03 RC 已发布。The MySQL Development team is very happy to announce that MySQL 8.0.3, the first 8.0 Release Candid转载 2017-11-05 20:00:23 · 1549 阅读 · 1 评论 -
Mysql基础笔记
转自:http://ourmysql.com/archives/1461Mysql基础笔记环境配置基本概念mysql命令行进入useshow查询selectorder bywherelike数据过滤regexpconcat文本函数日期函数数值函数聚集函数group子查询联结表高级转载 2016-06-16 22:51:29 · 730 阅读 · 0 评论 -
mysql字符集
alter table 转换字符集,如果字符集不兼容,可能造成数据丢失– character_set_server:默认的内部操作字符集 – character_set_client:客户端来源数据使用的字符集 – character_set_connection:连接层字符集 – character_set_results:查询结果字符集 – character_set原创 2016-06-19 16:42:33 · 566 阅读 · 0 评论 -
Complete list of new features for MySQL 5.7
http://www.thecompletelistoffeatures.com/MySQL 5.7已经足够稳定。MySQL 5.7相对于5.6有何不同?Morgan Tocker为此专门做了一个网站:Complete list of new features for MySQL 5.7转载 2016-07-24 22:13:35 · 457 阅读 · 0 评论 -
MySQL 5.7 新特性详解
https://zyl.me/blog/92原创 2016-11-13 11:09:32 · 620 阅读 · 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 · 659 阅读 · 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 · 743 阅读 · 0 评论 -
获取 MySQL 崩溃时的 core file
http://xiezhenye.com/2015/05/获取-mysql-崩溃时的-core-file.html?f=http://blogread.cn/对于一般进程,要让进程崩溃时能生成 core file 用于调试,只需要设置 rlimit 的 core file size > 0 即可。比如,用在 ulimit -c unlimited 时启动程序。对 MySQL 来转载 2017-03-23 22:40:01 · 1852 阅读 · 0 评论 -
修改配置,删除文件前提示
vi /root/.bashrc,或.bash_profile,然后添加两行东西 alias rm='rm -i'alias mv='mv -i'然后source .bashrc即可原创 2017-03-25 18:34:47 · 570 阅读 · 0 评论 -
sync、fsync、fdatasync知识点
1.缓冲区简介人生三大错觉之一:在调用函数write()时,我们认为该函数一旦返回,数据便已经写到了文件中.但是这种概念只是宏观上的.实际上,操作系统实现某些文件I/O时(如磁盘文件),为了保证I/O的效率,在内核通常会用到一片专门的区域(内存或独立的I/O地址空间)作为I/O数据缓冲区.它用在输入输出设备和CPU之间,用来缓存数据,使得低速的设备和高速的CPU能够协调工作避免低速的输入输出设转载 2017-05-26 22:45:30 · 1059 阅读 · 0 评论 -
xshell连接本机虚拟机里的Linux环境
1、在Linux环境里执行ifconfig查看其IP2、在xshell里配置对应的IP就可以3、配置登录用户和密码4、即可登录原创 2017-05-29 17:00:57 · 648 阅读 · 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 · 3108 阅读 · 0 评论 -
MySQLTuner--使用方法
Important Usage Guidelines: To run the script with the default options, run the script without arguments Allow MySQL server to run for at least 24-48 hours before trusting suggestions原创 2017-05-29 17:31:09 · 1176 阅读 · 0 评论 -
学习使用MySQL 5.7的sys库
Sys库里的数据来源Sys库所有的数据源来自:performance_schema。目标是把performance_schema的把复杂度降低,让DBA能更好的阅读这个库里的内容。让DBA更快的了解DB的运行情况。 Sys库下有两种表字母开头: 适合人阅读,显示是格式化的数x$开头 : 适合工具采集数据,原始类数据 每类表大概介绍sys_开头是库里的配置表:sy转载 2017-06-18 22:00:35 · 9949 阅读 · 0 评论 -
学习使用MySQL 5.7的sys库--补充
Sys schema的数据来自information_schema和performance_schema,ps对性能影响很大,大概可以下降10%。所以不要在线上大量部署通过查询sys中视图来完成监控巡检工作。原创 2017-06-18 22:06:18 · 808 阅读 · 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 · 1139 阅读 · 0 评论 -
MySQL备份原理详解
转自http://www.lai18.com/content/7451979.html?from=cancel本文为大家介绍了MySQL备份原理,欢迎大家阅读。备份是数据安全的最后一道防线,对于任何数据丢失的场景,备份虽然不一定能恢复百分之百的数据(取决于备份周期),但至少能将损失降到最低。衡量备份恢复有两个重要的指标:恢复点目标(RPO)和恢复时间目标(RTO),前者重点关注能恢复到什么程度,而转载 2017-09-24 17:00:08 · 989 阅读 · 0 评论 -
宇宙最强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 · 1473 阅读 · 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 · 7148 阅读 · 7 评论 -
MySQL误删除文件后,如何恢复
MySQL在运行中,如果误删除数据文件,只有服务进程没有退出,那么就有办法将其恢复。首先介绍Linux下lsof:他可以显示打开的文件和网络连接。其次/proc目录包含了反映内核和进程树的各种文件。/proc/504目录包含的是PID是504的进程信息。通过ps命令查看进程的进程ID。两者结合可以将删除的文件恢复。1、表文件:[rdb@localhost yzs]$ lltotal 120-rw-原创 2017-10-21 20:28:51 · 4311 阅读 · 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 · 556 阅读 · 0 评论