MySQL 操作与管理
文章平均质量分 72
linwaterbin
当时明月在,曾照彩云归。
展开
-
跳还是不跳?这是个问题
周一(2014-11-17)有个项目进行变更,而且是重大变更,DB测操作从早上持续到下午17点,QA同事到晚上10点测试后发现,slave上的数据与master上不一致。忘介绍了,该项目的该模块有读请求以及delete逻辑在上面,被吓到没?这个问题应该在情理之中但又在意料之外,其实DBA在下午DB变更时便遇到slave卡住:Could not execute Delete_rows event o原创 2014-11-22 00:52:17 · 7094 阅读 · 0 评论 -
MySQL varchar计算:求列的数目和计算N的最大值
求列的数目和计算N的最大值原创 2013-10-21 10:39:57 · 2699 阅读 · 0 评论 -
源码编译MySQL 5.1生成InnoDB存储引擎
MySQL 5.1源码安装InnoDB原创 2013-09-29 11:28:22 · 2434 阅读 · 0 评论 -
回收InnoDB表空间
讨论回收InnoDB空间的2种方法原创 2013-10-08 22:23:58 · 2188 阅读 · 0 评论 -
Linux UDEV和为MySQL InnoDB共享表空间配置裸设备
Linux UDEV MySQL 裸设备原创 2013-07-20 10:59:15 · 2885 阅读 · 0 评论 -
外键和锁
使用外键是需要付出代价的,也就是,即时检查,逐行进行,当然Oracle有个延时检查要求每次修改时都要对另外一张表多一次select操作,使用select lock in share mode方式意味着需要额外的锁,来确保该记录不会在事务未完成前被删除这将导致更多的锁等待,甚至是死锁,因为关联到其他表,死锁很难被爬出小测试Session_A:mysql> begin;Query OK, 0 r原创 2013-09-08 16:11:08 · 2539 阅读 · 0 评论 -
大文件跨网传输技巧
大文件跨网传输技巧原创 2013-08-30 22:24:22 · 2985 阅读 · 0 评论 -
突破MySQL视图限制:获取创建视图的SQL语句
MySQL 获取创建视图的SQL语句原创 2013-07-28 11:05:23 · 3942 阅读 · 0 评论 -
MySQL 大DML操作建议
MySQL 加快大数据量DML原创 2013-07-25 20:44:49 · 2005 阅读 · 0 评论 -
利用硬链接原理秒删MySQL大文件
MySQL 海量数据快速 Drop原创 2013-07-25 19:33:55 · 3539 阅读 · 4 评论 -
Linux HugePages及MySQL 大页配置
mysql Linux Hugepages原创 2013-07-31 16:40:14 · 3589 阅读 · 0 评论 -
MySQL 讨厌哪种类型的查询
MySQL 查询原创 2013-07-20 15:13:59 · 1897 阅读 · 0 评论 -
MySQL Troubleshoting:Waiting on query cache mutex
今天被MySQL Query Cache 炕了、线上大量 Waiting on query cache mutex 那么什么是 Query Cache? QC 缓存的是整个SELECT的结果集、而非执行计划、QC的为人原则是:执行查询最快的方式就是不去执行 但是、QC 简单粗暴的失效策略、令人蛋疼、任何不同(空格、TAB缩进、DML等)都会导致原创 2013-06-29 10:34:21 · 9028 阅读 · 2 评论 -
MySQL数据一致性检查工具
MySQL数据一致性校验:mysqldbcompare && pt-table-checksum原创 2013-11-08 15:43:24 · 5412 阅读 · 0 评论 -
初步认知MySQL metadata lock(MDL)
MySQL 元数据锁原创 2013-12-17 11:11:35 · 4525 阅读 · 0 评论 -
MySQL bug:server-id默认被自动置为1
昨天同事在做主从时,从库报如下错误:Got fatal error 1236 from master when reading data from binary log: 'Misconfigured master - server id was not set'粗粗看好像是master的server-id没有设置,但同事做如下查询:备库采集:root@localhost Fri May 23原创 2014-05-24 10:27:11 · 9391 阅读 · 0 评论 -
MySQL Schema设计(四)一个MySQL里的JQuery:common_schema
MySQL Schema设计(四)一个MySQL里的JQuery:common_schema原创 2014-02-07 23:29:53 · 2900 阅读 · 0 评论 -
运维故障:假如下次注意,可能不会这么幸运
最近开始做运维,连着2天发生过意外,虽然都有惊无险,但我认为是侥幸!故障记录如下:1. 2014-4-1 新项目上线,在执行DDL时忘了确认字符集,导致开发同学那边查出来是乱码。2. 2014-4-3 部署Oracle DG,自以为主库不是线上库,初始化后重启了主库发生事情是我们都喜欢事后诸葛亮,然后扪心自谓:"我下次注意",不要忘了,生产环境是随机行走的,你无法意料它的走向。我的意思是不可控的风原创 2014-04-03 22:29:56 · 2720 阅读 · 1 评论 -
我踩了mysqldump的一个地雷
我们先看2种情况:P 1:[ 21:56:33-root@ssdtest:~ ]#mysqldump -S /data/mysql/test_3306/mysql.sock --single-transaction --force --databases tpcc > v1.sqlP 2:[ 21:56:54-root@ssdtest:~ ]#mysqldump -S /data/mysql/t原创 2014-04-02 22:41:37 · 2112 阅读 · 0 评论 -
巧妙避开MySQL字符集的骚扰
在执行开发童鞋给的SQL脚本更新时,切记先用【\s】看下字符集,笔者今天在新项目上线时忘了确认字符集,导致页面查出来是乱码,还好老大给力,速度帮我背了黑锅,存底警醒自己以后不要再干出这种蠢事。Good Luck!原创 2014-04-01 23:42:19 · 1800 阅读 · 2 评论 -
MySQL 临时表与dstat mysql临时表监控插件开发
1)MySQL临时表2)dstat mysql 临时表监控插件开发原创 2014-02-26 15:56:04 · 2652 阅读 · 0 评论 -
MySQL Schema设计(五)用Python管理字符集
MySQL Schema设计(五)用Python管理字符集原创 2014-02-11 00:11:14 · 3000 阅读 · 1 评论 -
MySQL Schema设计(三)利用Python操作Schema
MySQL Schema设计(三)用Python操作Schema原创 2014-02-05 16:35:39 · 4458 阅读 · 3 评论 -
MySQL Schema设计(二)精打细算,油盐不断
MySQL Schema设计(二):3大数据类型讲解,数据类型转换以及数据类型优化原创 2014-01-25 12:05:01 · 3786 阅读 · 1 评论 -
MySQL Schema设计(一)范式不能当'范'吃
MySQL Schema设计(一):无范式,不模式原创 2014-01-14 21:39:02 · 2918 阅读 · 0 评论 -
MySQL ALTER TABLE: ALTER vs CHANGE vs MODIFY COLUMN
写作背景MySQL的ALTER TABLE操作常令DBA闻而变色,即使有Percona的OSC保驾护航,依然不堪轻易出手,但不是所有的ALTER TABLE都会引起表重建,从而需要花费数个小时甚至数天才能完成,本文对这3者作出简单区别,希望在万不得已时能是最后的一根稻草。ALTER COLUMN语法:ALTER [COLUMN] col_name {SET DEFAULT literal | DR原创 2014-01-05 15:42:58 · 11529 阅读 · 0 评论 -
MySQL 5.5 三大安装方式:【二进制、源代码编译 和 RPM 包】 安装步骤及优缺点比较
㈠ 源代码编译 ① 安装 cmake # wget http://www.cmake.org/files/v2.8/cmake-2.8.5.tar.gz # tar -zxv -f cmake-2.8.5.tar.gz -C /usr/local/src # cd /usr/local/src/cmake-2.8.5原创 2013-04-12 17:08:59 · 9801 阅读 · 0 评论 -
略懂 MySQL字符集
MySQL 字符集原创 2013-07-18 16:09:51 · 2014 阅读 · 2 评论 -
生产环境 MySQL Server 核心参数的配置
⑴ lower_case_table_names ● 推荐理由 GNU/Linux 平台,对数据库、表、存储过程等对象名称大小写敏感 为减少开发人员的开发成本,为此推荐大家设置该参数使对象名称都自动转换成小写 ● 参数介绍 取值范围: 为0:区分大小写、L原创 2013-05-04 01:32:31 · 3531 阅读 · 0 评论 -
有关 MySQL InnoDB 在索引中自动添加主键的问题
㈠ 原理: 只要用户定义的索引字段中包含了主键中的字段、那么这个字段就不会再被InnoDB自动加到索引中 但如果用户的索引字段中没有完全包含主键字段、InnoDB 就会把剩下的主键字段加到索引末尾 ㈡ 例子 例子一:CREATE TABLE t ( a char(32) not null primary key, b char(32原创 2013-05-06 22:39:08 · 3768 阅读 · 1 评论 -
MySQL utf8mb4 字符集:支持 emoji 表情符号
㈠ 序言 为了应对无线互联网的机遇和挑战、避免 emoji 表情符号带来的问题、 涉及无线相关的 MySQL 数据库建议都提前采用 utf8mb4 字符集 这必须要作为移动互联网行业的一个技术选型的要点 ㈡ 限制 需要 >= MySQL 5.5.3版本、从库也必须是5.5的了、低版本不支持原创 2013-05-15 14:08:28 · 8820 阅读 · 0 评论 -
从史上八大MySQL事故中学到的经验
本文列举了史上八大MySQL宕机事件原因、影响以及人们从中学到的经验,文中用地震级数来类比宕机事件的严重性和后果,排在最严重层级前两位的是由于亚马逊AWS宕机故障(相当于地震十级和九级)。一、Percona网站宕机事件震级:3 发生时长:2011年7月11日 持续时长:数日 地点:加州Pleasanton(幸福屯) 宕机原因:Percona网站主服务器上的3块硬盘损坏,同时因为人员变更,导致未能如转载 2013-04-23 09:17:32 · 1759 阅读 · 2 评论 -
个性化设置 MySQL prompt 提示符
下面谈 4 种方法 ㈠ 在 Bash 层修改 MYSQL_PS1 变量[root@localhost ~]# export MYSQL_PS1="(\u@\h) [\d]> "[root@localhost ~]# mysql -u root -pEnter password: Welcome to the MySQL monitor. Commands end原创 2013-04-09 20:27:02 · 7019 阅读 · 0 评论 -
批量杀死 MySQL 连接
下面简述 2 种方法 ㈠ 巧用 information_schema.processlistmysql> select concat('KILL ',id,';') from information_schema.processlist where user='root' into outfile '/tmp/killall.txt';mysql> source /tmp/k原创 2013-04-09 19:41:36 · 3235 阅读 · 0 评论 -
linux下安装mysql与旧版本冲突的解决方案
① 卸掉rpm -qa |grep perl-DB*检索出来的所有包: rpm -e *,*,...,* (-e后的包顺序无所谓) ② 安装新版本的MySQL ③ reboot 注释: DBI作为Perl语言的接口原创 2012-11-10 00:07:37 · 1937 阅读 · 0 评论 -
select ... for update在mysql和oracle间锁行为的比较
环境:mysql> show variables like '%storage_engine%';+----------------+--------+| Variable_name | Value |+----------------+--------+| storage_engine | InnoDB |+----------------+--------+1 ro原创 2012-10-28 23:18:34 · 4965 阅读 · 0 评论 -
理解mysql锁(2)表级锁定
MyISAM 存储引擎使用的锁定机制完全是由 MySQL 提供的表级锁定实现。 mysql的表级锁定主要有两种:写锁和读锁 对write写锁,MySQL使用的表锁定方法原理如下: * 如果在表上没有锁,在它上面放一个写锁。 * 否则,把锁定请求放在写锁定队列中。 对read读锁,MySQL使用的表锁定方法原理如下: * 如果在表上没有写锁定,把一个原创 2012-10-17 13:28:37 · 2565 阅读 · 0 评论 -
理解mysql锁(1)锁的概述
相對其他數據庫而言,MySQL的鎖機制比較簡單,其最顯著的特點是不同的存儲引擎支持不同的鎖機制,但總的來説,mysql各種存儲引擎使用了三種類型的鎖定機制:行級鎖定、頁級鎖定和表級鎖定。其中,MyISAM主要使用表級鎖定,而使用行級鎖定的主要是Innodb。 pre { font-family: "Ubuntu"; }p { margin-bottom: 0.21cm; }pre { font-f原创 2012-10-17 09:53:55 · 1665 阅读 · 0 评论 -
Error: Cannot create Windows service for MySql. Error: 0解决方案
Error: Cannot create Windows service for MySql. Error: 0 图示: 当你没有事先停止并卸载已有MySQL服务,并且使用MySQL Configuration Wizard(配置向导)重新安装或升级MySQL时,会遇到该问题。发生的原因是,当配置向导试图安装服务时,它发现已经有一个同名的服务。 解决该问题的一个方案是使用配置向原创 2012-10-14 10:32:08 · 11083 阅读 · 1 评论 -
生产环境 MySQL 表的维护:check、optimize和analyze
㈠ optimize optimize可以回收空间、减少碎片、提高I/O 目前支持的存储引擎有:InnoDB、MyASIM和ARCHIVE 如果是Replication环境、可加NO_WRITE_TO_BINLOG(或者LOCAL、意思完全相同)、比如: optimize local table table_n原创 2013-05-22 23:34:00 · 3760 阅读 · 0 评论