
mysql
文章平均质量分 63
SAN_YUN
这个作者很懒,什么都没留下…
展开
-
MySQL 中的重做日志,回滚日志 ,以及二进制日志的简单总结
ImportNew 5天前(点击上方公众号,可快速关注)来源:MSSQL123 ,www.cnblogs.com/wy123/p/8365234.htmlMySQL中有六种日志文件,分别是:重做日志(redo log)、回滚日志(undo log)、二进制日志(binlog)、错误日志(errorlog)、慢查询日志(slow query log)、一...原创 2018-06-06 17:44:25 · 572 阅读 · 0 评论 -
InnoDB 介绍(二)
上一节我们简要介绍了 InnoDB 及其基本的配置参数,本文要讲述的是性能调优的一些参数配置以及安全,备份恢复等。MySQL 要进入企业级的运作,对于一个 DBA 而言,这些是必备的知识。因此,本文将详细叙述性能调优方面的知识。性能优化的一些主要参数:set-variable = max_connections=200set-variable = record_buffer=1Mset-varia...原创 2013-06-28 11:56:11 · 102 阅读 · 0 评论 -
MongoDB 哪些地方会产生锁?
Which operations lock the database?原文:http://docs.mongodb.org/manual/faq/concurrency/#what-type-of-locking-does-mongodb-use The following table lists common database operations and the types of...原创 2013-01-24 14:41:45 · 761 阅读 · 0 评论 -
mysql 的权限控制
一些简单的例子: root@localhost : (none) 17:34:45> create user diamonduser identified by 'diamonduser';Query OK, 0 rows affected (0.01 sec)root@localhost : (none) 17:36:00> grant all on diamo...原创 2012-10-11 12:00:37 · 118 阅读 · 0 评论 -
通过mysql optimize table优化表性能
最近运营一直反馈后台审核页面很慢,我看了一下是分页慢导致的。这个表有300多万条数据,给后台用,count要5秒太慢了。select count(*) from ck_album_status where album_status = 'new';mysql> explain select count(*) from ck_album_status where album...原创 2013-07-06 13:52:07 · 1194 阅读 · 0 评论 -
mysql binlog清理
不知道你有没有为mysql的binlog占用大量磁盘感到无奈,my.cnf里binlog的size可以设置多大做分割,但没有看到删除的配置,在mysql里show了一下variables, mysql> show variables like 'expire_logs_days%';+------------------+-------+| Variable_name | Value ...原创 2013-07-09 11:46:56 · 208 阅读 · 0 评论 -
mysql 查看慢sql 然后kill
select * from information_schema.processlist where db='zcwdb' and state='Sending data'; select concat('kill ', id,';') from information_schema.processlist where db='zcwdb' and state='Sending dat...原创 2013-07-09 18:14:15 · 675 阅读 · 0 评论 -
Mysql Innodb的两种表空间方式
要说表空间,Mysql的表空间管理远远说不上完善。换句话说,事实上Mysql根本没有真正意义上的表空间管理。Mysql的Innodb包含两 种表空间文件模式,默认的共享表空间和每个表分离的独立表空间。只要在my.cnf里面增加innodb_file_per_table=1就可以从共享 表空间切换到独立表空间。当然对于已经存在的表,则需要执行alter table MY_TABLE engine...原创 2013-07-09 18:32:46 · 164 阅读 · 0 评论 -
mysql表被锁
当对mysql的表字段类型修改时,会导致mysql copy to tmp table,如果这时再对此表做update会锁表alter TABLE message_message modify column buyable smallint(6) NOT NULL DEFAULT '0'; ...原创 2013-01-26 12:44:29 · 235 阅读 · 0 评论 -
InnoDB 介绍
InnoDB 是 MySQL 上第一个提供外键约束的引擎,除了提供事务处理外,InnoDB 还支持行锁,提供和 Oracle 一样的一致性的不加锁读取,能增加并发读的用户数量并提高性能,不会增加锁的数量。InnoDB 的设计目标是处理大容量数据时最大化性能,它的 CPU 利用率是其他所有基于磁盘的关系数据库引擎中最有效率的。InnoDB 是一套放在 MySQL 后台的完整数据库系统,InnoDB ...原创 2013-06-28 11:55:45 · 221 阅读 · 0 评论 -
mysql 重建表
最近遇到mysql表坏的情况,通过如下重建:ALTER TABLE t1 ENGINE = InnoDB; 参考:http://imysql.cn/2011/06/28/problem-with-percona-55-sec-index-update.html原创 2013-06-28 11:37:40 · 483 阅读 · 0 评论 -
mysql 优化之wait_timeout
之前一直没注意到mysql 中的wait_timeout,线上看了一下: mysql> show variables like '%wait_timeout%' -> ;+--------------------------+----------+| Variable_name | Value |+---------------...原创 2012-12-29 23:08:44 · 787 阅读 · 0 评论 -
MySQL的wait_timeout参数太小导致表级锁失效
如果想让某个表只读不能被修改,可以在MySQL Server层面加表级锁:mysql> lock tables sms read;Query OK, 0 rows affected (0.01 sec)然后其他的连接去更新或插入数据是不会成功的:mysql> insert into sms(id) values (555);因为要等待表级锁的释放,可...原创 2012-12-29 23:30:29 · 384 阅读 · 0 评论 -
mysql事务和lock
http://www.cnxct.com/error-1213-40001-deadlock-found-when-trying-to-get-lock-try-restarting-transaction/http://dev.mysql.com/doc/refman/5.5/en/innodb-lock-modes.htmlhttp://dev.mysql.com/doc/refman/5.0...原创 2013-06-21 23:19:39 · 155 阅读 · 0 评论 -
The basics of InnoDB space file layout
原文:http://blog.jcole.us/2013/01/03/the-basics-of-innodb-space-file-layout/ In On learning InnoDB: A journey to the core, I introduced the innodb_diagrams project to document the InnoDB interna...原创 2013-01-05 12:49:53 · 174 阅读 · 0 评论 -
mysql 树状结构设计教训
公司一次对mysql 树状结构设计教训吧,message表示一条微博,微博可以被转发,如果一条微博被转发一万次,会产生一万条微博。但致命的是,我们在表结构设计的时候没有保存root_id,导致的后果是,如果要找一条原发只能通过photo_id +category来查询,比如:explain select id from message_message where status=0 and...原创 2013-01-08 15:44:09 · 178 阅读 · 0 评论 -
mysql 查看表大小
select * from information_schema.TABLES where information_schema.TABLES.TABLE_NAME = 'message_message' \G;原创 2013-06-27 23:58:30 · 160 阅读 · 0 评论 -
mysql query cache lock导致的性能问题
最近线上今天出现detail页面很慢的情况,通过btrace定位到是这条SQL:select id,status,convert(buyable,UNSIGNED) as buyable,category,sender_id,album_id,parent_id,add_datetime,favorite_count,like_count,photo_id,group_id from me...原创 2013-06-28 00:16:13 · 494 阅读 · 0 评论 -
一个mysql dba这几年犯的错
http://blog.xupeng.me/2013/06/27/mistakes-in-production-system-these-years/一个mysql dba这几年犯的错得知下厨房的数据被误删了,正在紧张恢复中。作为犯过很多次严重错误的人,我最想说的是,善待当事人吧,此刻他在承受着巨大的压力,比其他任何人都要心焦,他会很感激你的善言和善意。这几年犯过很多次严重影响...原创 2013-06-28 11:23:25 · 176 阅读 · 0 评论 -
优化临时表使用,SQL语句性能提升100倍
【问题现象】线上mysql数据库爆出一个慢查询,DBA观察发现,查询时服务器IO飙升,IO占用率达到100%, 执行时间长达7s左右。SQL语句如下:SELECT DISTINCT g.*, cp.name AS cp_name, c.name AS category_name, t.name AS type_name FROMgm_game g LEFT JOIN gm_cp cp ON ...原创 2013-12-02 22:25:50 · 382 阅读 · 0 评论 -
MySQL性能优化的最佳20+条经验
今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显。关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我 们程序员需要去关注的事情。当我们去设计数据库表结构,对操作数据库时(尤其是查表时的SQL语句),我们都需要注意数据操作的性能。这里,我们不会讲过 多的SQL语句的优化,而只是针对MySQL这一Web应用最多的数据库。希望下面的这些优化技巧对你有用。1. ...原创 2013-02-20 23:31:55 · 164 阅读 · 0 评论 -
关于mysql优化一些总结
最近在做mysql数据库的一些优化,主要是sql语句的优化。查阅了一些资料加上一些实战,这里简单做一下总结,水平有限,欢迎大家指正: sql优化,一般有两方面: 优化io: IO应该是数据库(尤其是数据量比较大的时候)时间开销最大的地方了,所以,IO优化非常重要,我们常用的方法是通过合理的使用索引来减少IO。 减少cpu运算: 除了IO,减少cpu运算也是...原创 2013-09-21 08:41:50 · 106 阅读 · 0 评论 -
也说快速关闭MySQL/InnoDB
原文:http://www.orczhou.com/index.php/2010/12/more-about-mysql-innodb-shutdown/如果用的引擎是InnoDB,每次敲下mysqladmin -uroot -p shutdown关闭数据库的时候,总是很难预测这个命令会执行多久,实际经验表明,短则五秒,长则三十分钟一小时都有可能。也分享一下我的经验吧。1. 为什么In...原创 2013-09-21 13:56:21 · 102 阅读 · 0 评论 -
Percona-Server安装记录
本文档记录安装Percona-Server开发环境,非生产环境使用1.下载Percona-Server-5.5.38-rel35.2-674.Linux.x86_64.tar.gz下载地址http://www.percona.com/downloads/Percona-Server-5.5/Percona-Server-5.5.38-35.2/binary/tarball/ ...原创 2014-07-28 23:05:37 · 226 阅读 · 0 评论 -
mysql 索引原理
对于这条SQL:from message where id=1 and name='a' mysql最后是如何找到数据的呢? 是先匹配id=1的索引,然后再匹配name=a的索引,最后再merge,还是同时判断? http://www.fuzzy.cz/en/articles/basic-principles-of-database-indexes/...原创 2014-03-27 20:02:38 · 98 阅读 · 0 评论 -
MySQL数据库InnoDB存储引擎 Buffer Pool Flush List详解
原文:http://www.zhdba.com/mysqlops/2012/06/11/mysql-innodb-buffer-pool-flush-list/ Buffer Pool Flush Listadd page to flush listbuffer pool中的page,有三种状态:l free: 当前page未被使用l clean: 当...原创 2014-08-21 10:36:27 · 562 阅读 · 0 评论 -
mysql slow log控制
参考官方文档:http://dev.mysql.com/doc/refman/5.6/en/slow-query-log.html MySQL能够记录执行时间超过参数 long_query_time 设置值的SQL语句,默认是不记录的。获得初始锁定的时间不算作执行时间。mysqld在SQL执行完和所有的锁都被释放后才写入日志。且记录顺序可能不同于执行顺序。5.1.6以...原创 2014-08-28 10:15:24 · 227 阅读 · 0 评论 -
MySQL出现Waiting for table metadata lock的场景浅析
原文:http://ctripmysqldba.iteye.com/blog/1938150MySQL版本为5.6.12。在进行alter table操作时,有时会出现Waiting for table metadata lock的等待场景。而且,一旦alter table TableA的操作停滞在Waiting for table metadata lock的状态,后续对TableA...原创 2014-04-23 14:27:08 · 120 阅读 · 0 评论 -
mysql 设置字符集 中文乱码
一、登录MySQL查看用SHOW VARIABLES LIKE ‘character%’;下字符集,显示如下:+--------------------------+----------------------------+| Variable_name | Value |+--------------------------+----------------------------+| cha...原创 2016-02-04 15:45:37 · 301 阅读 · 0 评论 -
robbin谈MySQL InnoDB性能调整的一点实践
因为JavaEye网站的数据库服务器搬家的时候被托管商的工作人员狠狠摔了一下,所以硬盘整个挂掉了,我重新安装数据库服务器的时候,顺手下载了 Percona patch过的MySQL5.0版本,使用MySQL自带的heavy innodb配置文件改了改,作为my.cnf启动运行。数据库服务器的物理内存有6GB,其中有4GB可以被MySQL使用,my.cnf相关配置参数 如下: C代码 ...原创 2013-09-21 08:13:11 · 205 阅读 · 0 评论 -
mysql文档集合
理解MySQL——索引与优化理解MySQL——架构与概念理解MySQL——复制(Replication)理解MySQL——并行数据库与分区(Partition)原创 2013-09-05 12:11:12 · 120 阅读 · 0 评论 -
线上大表新增字段
正常情况下线上大表新增字段是需要停机的,因为这时候mysql会锁表,任何写操作都会被阻塞。不过如果能保证数据库只读就没问题。下面是一次线上操作记录,没有对网站造成任何影响。 mysql> alter table album_album add `cover` varchar(255) DEFAULT NULL; Query OK, 3839848 rows affecte...原创 2013-08-08 11:31:51 · 659 阅读 · 0 评论 -
mysql中group的实现
同学问到group by的实现,发现可能存在误解,简单说明一下。示例CREATE TABLE `tb` ( `c` int(11) DEFAULT NULL, `d` int(4) DEFAULT NULL, `e` varchar(1000) DEFAULT NULL) ENGINE=InnoDB DEFAULT CHARSET=utf8;Insert into tb value...原创 2014-01-24 10:31:20 · 112 阅读 · 0 评论 -
MYSQL INNODB中GAP LOCK引起死锁的问题
先了解一下什么是GAP LOCK在INNODB中,record-level lock大致有三种:Record, Gap, and Next-KeyLocks。简单的说,RECORDLOCK就是锁住某一行记录;而GAPLOCK会锁住某一段范围中的记录;NEXT-KEYLOCK则是前两者加起来的效果。下面是MYSQL官方文档中相关内容的链接http://dev.mysql.com/doc...原创 2014-06-06 13:08:29 · 189 阅读 · 0 评论 -
mysql性能优化之 show profile
很漂亮的结果,没有creating sort index是没有sort index了,但感觉也不快,100ms,如果offset很大的话,会不会依然是个攻击点?不需要快,只要cpu占用降下来即可 mysql> show profile for query 1;+----------------------+----------+| Status ...原创 2014-06-20 10:46:53 · 330 阅读 · 0 评论 -
mysql group测试脚本
sql数据语句:CREATE TABLE `access` ( `uri` varchar(100) DEFAULT NULL, `status` varchar(100) DEFAULT NULL, `worker` varchar(100) DEFAULT NULL, `requestCount` int DEFAULT NULL) ENGINE=InnoDB...原创 2014-06-25 15:38:00 · 133 阅读 · 0 评论 -
mysql创建用户权限
mysql 权限如下:root@localhost : (none) 17:34:45> create user diamonduser identified by 'diamonduser';Query OK, 0 rows affected (0.01 sec)root@localhost : (none) 17:36:00> grant all on diamo...原创 2014-07-11 17:01:37 · 154 阅读 · 0 评论 -
MySQL如何避免使用swap
原文:http://www.taobaodba.com/html/552_mysql_avoid_swap.html Linux有很多很好的内存、IO调度机制,但是并不会适用于所有场景。对于DBA来说Linux比较让人头疼的一个地方是,它不会因为MySQL 很重要就避免将分配给MySQL的地址空间映射到swap上。对于频繁进行读写操作的系统而言,数据看似在内存而实际上在磁盘是非常糟糕...原创 2013-09-04 09:52:24 · 270 阅读 · 0 评论 -
mysql binlog细节
原来mysql binlog内容是先保存在trx_cache中的,如果中间rollback则直接将cache清空就好了,不会写入到binlog文件中,但是如果事 务里有non-transactional的语句则rollback会把cache中的内容写入binlog,来保障slave的正确性,这篇关于 mysql binlog细节的文档还不错。...原创 2013-09-05 12:06:44 · 105 阅读 · 0 评论 -
手动安装mysql,使用mysqld_safe启动mysql服务
之前用过dpkg 或者rpm安装mysql,本文使用tar.gz的方式手动安装mysql 安装之前需要先 apt-get install libaio-dev #安装mysql需要 1.去官方下载mysql.tar.gzhttp://www.mysql.com/downloads/mysql/ 2. 解压 tar -xvf mysql.tar.gz 我...原创 2012-04-22 17:15:46 · 1508 阅读 · 0 评论