天堂

  :: :: 博问 :: 闪存 :: :: :: 订阅 订阅 :: 管理 ::

随笔分类 -  MYSQL

1 2 下一页

MYSQL
摘要:接上一篇,未提交的事务导致锁等待,锁住一段时间后又提交了(也可能是回滚),锁释放业务继续运行。那么我们如何知道产生锁的事务是在跑什么SQL? 今天讲的这个工具,就可以通过监听3306端口的数据,把每个事务的起始时间,SQL命令都打印出来,而且可以设置事务时长,比如事务时长超过10秒的。 参考链接:h 阅读全文
posted @ 2017-02-27 11:31 zuoxingyu 阅读(2072) 评论(0) 推荐(0) 编辑

摘要:收到报警某台mysql数据库慢查询数量超过5,登录上去看,发现阻塞的SQL全部是update,处于Updating状态 查看系统状态,各项都正常,但在InnoDB Row Lock Time值上有个较大的毛刺,基本得出是锁等待导致的。show processlist看到的线程里面,活动状态的没有发现 阅读全文
posted @ 2017-02-09 16:07 zuoxingyu 阅读(1910) 评论(0) 推荐(1) 编辑

摘要:应用场景:知道某台DB服务器的IP和账户,登录上去查询了10W条记录,需要把这些记录拉到本地做分析 方法1,远程连接到DB服务器执行OUTFILE命令,文件存储在DB机器上,只有mysql账户的情况下,拿不到本地。文件位置【服务端】 方法2,通过pager命令把输出结果重定向到本地文件。文件位置【本 阅读全文
posted @ 2016-12-27 15:42 zuoxingyu 阅读(3154) 评论(1) 推荐(0) 编辑

摘要:在BBS线上业务抓到如下分页SQL: 这个SQL一共有3个问题: 1:select * 这种写法不符合SQL编写规范,任何时候都不要用*来代替具体的列名称,需要什么列就取什么列。如果表里有个text/blob等大字段,影响就更加明显。 2:pre_forum_thread 表在tid字段做了分区,但 阅读全文
posted @ 2016-07-05 11:10 zuoxingyu 阅读(660) 评论(0) 推荐(1) 编辑

摘要:转自:http://www.cnblogs.com/LMySQL/p/5060604.html 前言:假设如果有个服务器几十个链接突然达到上千个链接,show processlist,general_log,还有慢查询日志这些都不能用,你怎么把这些链接过来的SQL情况了解清楚,如果你觉得那些好用的都 阅读全文
posted @ 2016-06-21 14:21 zuoxingyu 阅读(2015) 评论(0) 推荐(0) 编辑

摘要:故障现象: 中午12点多,一套主从集群的主库因为没有配置大页内存,发布时导致OOM,MYSQL实例重启了,然后MHA发生了切换。切换过程正常。切换后需要把原master配置成新master的slave,在manager.log文件里面找到change master to ....命令,执行后发现复制 阅读全文
posted @ 2016-04-08 17:42 zuoxingyu 阅读(1185) 评论(0) 推荐(1) 编辑

摘要:1:导出的SQL命令,只需要加上“FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n' ” 2:导出后的CSV打开是乱码,解决乱码问题 3:用notepad打开,在格式里面选择utf8格式编码,保存。 阅读全文
posted @ 2016-03-30 14:39 zuoxingyu 阅读(9466) 评论(0) 推荐(0) 编辑

摘要:直接上步骤 首先你得有一台能够上外网的linux服务器 1:rpm -Uvh http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm 安装yum源 2:yum install yum-utils -y 安装yum-confi 阅读全文
posted @ 2016-02-29 11:21 zuoxingyu 阅读(404) 评论(0) 推荐(0) 编辑

摘要:故障现象2016.1.1号早上4点左右,zabbi数据库服务器报警,写入数据失败。登陆机器后检查发现磁盘空间使用95%没有用满,进去zabbix数据库,执行insert命令提示错误“errir 1030(HY000):got error 28 from storage engine”.前提zabbi... 阅读全文
posted @ 2016-01-05 20:06 zuoxingyu 阅读(1112) 评论(0) 推荐(0) 编辑

摘要:pt-online-schema-change在线DDL工具可以做到DDL操作不锁表,不影响线上操作。对于线上超过100W的大表,一般情况下都用这个工具做DDL,最重要的考虑点还是“不影响线上操作”pt-online-schema-change内部操作流程1)创新新的临时表,临时表为DDL后的目标表... 阅读全文
posted @ 2015-11-26 09:34 zuoxingyu 阅读(1208) 评论(1) 推荐(1) 编辑

摘要:知识点因为MySQL是使用User和Host两个字段来确定用户身份的,这样就带来一个问题,就是一个客户端到底属于哪个host。如果一个客户端同时匹配几个Host,对用户的确定将按照下面的优先级来排基本观点越精确的匹配越优先Host列上,越是确定的Host越优先,[localhost, 192.168... 阅读全文
posted @ 2015-11-04 11:25 zuoxingyu 阅读(2369) 评论(0) 推荐(0) 编辑

摘要:在MYSQL中,每个连接都会先执行init-connect,进行连接的初始化。我们可以在这里获取用户的登录名称和thread的ID值。然后配合binlog,就可以追踪到每个操作语句的操作时间,操作人等。实现审计。实验过程:1:创建登录日志库,登录日志表CREATE DATABASE `accessl... 阅读全文
posted @ 2014-09-24 14:08 zuoxingyu 阅读(1515) 评论(0) 推荐(0) 编辑

摘要:在某些应用里,需要知道谁对表进行了操作,进行了什么操作,所为责任的追朔。在MYSQL里,可以使用触发器实现。1:创建测试表mysql>createtableA(aint);Query OK,0 rows affected(0.01 sec)2:创建追踪表,里面包含表名称,操作类型,操作时间,操作员,... 阅读全文
posted @ 2014-09-24 14:05 zuoxingyu 阅读(536) 评论(0) 推荐(0) 编辑

摘要:推倒重来俗话说no zuo no die why you try,这时候我又忍不住zuo了,吭哧吭哧的把解决过程发上博客,向全世界宣布,哥又搞定个难题。剧情的发展往往是看起来主角完全掌握了局势的情况下,会突然跳出来一个很牛的反面人物,然后搞得主角很惨,搞的过程中主角开始小宇宙爆发,然后逆袭。这次也不... 阅读全文
posted @ 2014-06-16 10:45 zuoxingyu 阅读(1287) 评论(0) 推荐(0) 编辑

摘要:有这样一个业务场景,需要在2个表里比较存在于A表,不存在于B表的数据。表结构如下:T_SETTINGS_BACKUP | CREATE TABLE `T_SETTINGS_BACKUP` ( `FID` bigint(20) NOT NULL AUTO_INCREMENT, `FUSERID` ... 阅读全文
posted @ 2014-06-11 11:01 zuoxingyu 阅读(4718) 评论(2) 推荐(2) 编辑

摘要:建表:drop table if exists terminal_parameter;CREATE TABLE `terminal_parameter` ( `terminal_parameter_id` int(11) NOT NULL AUTO_INCREMENT, ................ 阅读全文
posted @ 2014-06-06 11:03 zuoxingyu 阅读(1331) 评论(0) 推荐(0) 编辑

摘要:今天在做一个大业务的数据删除时,看到下面的性能曲线图在删除动作开始之后,insert buffer 大小增加到140。对于这些状态参数的说明InnoDB Insert Buffer插入缓冲,并不是缓存的一部分,而是物理页,对于非聚集索引的插入或更新操作,不是每一次直接插入索引页.而是先判断插入的非聚... 阅读全文
posted @ 2014-05-30 17:00 zuoxingyu 阅读(7898) 评论(2) 推荐(6) 编辑

摘要:MYSQL通常单机单实例,每个实例下面有很多不同的库,备份时带上--all-databases,有时候会需要从备份文件里面抽取单个库,或者某个库下的某个表。如果还原全部数据库,肯定是可以做到的,但是时间代价非常大。下面这个脚本就是实现快速提取单个库,单个表#/bin/bash#author :zuo... 阅读全文
posted @ 2014-05-28 19:27 zuoxingyu 阅读(464) 评论(0) 推荐(2) 编辑

摘要:准备数据+随机读写测试sysbench --num-threads=16 --test=fileio --file-total-size=3G --file-test-mode=rndrw preparesysbench --num-threads=16 --test=fileio --file-total-size=3G --file-test-mode=rndrw run 输出结果:#后面的是解读注释root@wuzhou:/home/meizu/sysbench/sysbench-0.4.12# sysbench --num-threads=16 --test=fileio --file 阅读全文
posted @ 2013-05-21 16:53 zuoxingyu 阅读(2283) 评论(0) 推荐(0) 编辑

摘要:今天在处理一个实例异常的时候,MYSQL安装,文件权限,磁盘空间都没有问题,但就是启动不了,错误提示Starting MySQL..The server quit without updating PID file (/var/lib/mysql/localhost.localdomain.pid MYSQL的错误日志信息:看不出任何有价值的东西。查看OS系统日志信息出现了OOM错误,MYSQL进程被系统KILL了。继续排查,发现操作系统内存大小为8G,MYSQL的BP配置也为8G,这个机器原来是16G内存的,后来减掉了8G,但是配置文件没改,所以启动后申请内存时导致内存耗尽。解决办法:配置文 阅读全文
posted @ 2013-05-03 10:13 zuoxingyu 阅读(17564) 评论(1) 推荐(1) 编辑

1 2 下一页
点击右上角即可分享
微信分享提示