
数据库
文章平均质量分 83
redsuntim08
这个作者很懒,什么都没留下…
展开
-
Mysql源代码分析系列(1): 编译和调试
Mysql源代码分析系列(1): 编译和调试拖了很久了Mysqld源代码分析从今天开始吧,随着我阅读的进度推进,我会写一些文章记录自己的心得,但是不保证一定会写。其实也不保证一定有时间来完整的阅读所有的代码。阅读代码的目的有如下几点:通过了解Mysql的架构,学习大型系统软件的体系结构,希望自己在工作的时候也能应用到其中的一些技术通过阅读代码,能够更好的理解Mysql的使用,也能做转载 2013-04-22 19:39:53 · 1064 阅读 · 0 评论 -
mysql 数据库 锁状态查看
1 show processlist;SHOW PROCESSLIST显示哪些线程正在运行。您也可以使用mysqladmin processlist语句得到此信息。如果您有SUPER权限,您可以看到所有线程。否则,您只能看到您自己的线程(也就是,与您正在使用的MySQL账户相关的线程)。如果有线程在update或者insert 某个表,此时进程的status为updating转载 2014-10-23 19:51:50 · 6954 阅读 · 0 评论 -
MySQL索引背后的数据结构及算法原理
本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。为了避免混乱,本文将只关注于BTree索引,因为这是平常使用MySQL时主要打交道的索引,至于哈希索引和全文索引本文暂不讨论。文章主要内容分为三个部分。第转载 2014-08-13 21:56:27 · 686 阅读 · 0 评论 -
mysql binlog row格式查看
mysql binlog row格式原创 2014-08-14 22:53:28 · 4954 阅读 · 0 评论 -
mysql 数据库日志分析
转自:http://pangge.blog.51cto.com/6013757/1319304MySQL日志:主要包含:错误日志、查询日志、慢查询日志、事务日志、二进制日志;日志是mysql数据库的重要组成部分。日志文件中记录着mysql数据库运行期间发生的变化;也就是说用来记录mysql数据库的客户端连接状况、SQL语句的执行情况和错误信息等。当数据库遭到意外的损坏时,可转载 2014-08-11 21:28:50 · 3069 阅读 · 0 评论 -
性能优化——mysql数据库
性能优化 mysql 数据库原创 2014-08-04 21:46:39 · 989 阅读 · 0 评论 -
mysql事务隔离级别
SQL标准定义了4类隔离级别,包括了一些具体规则,用来限定事务内外的哪些改变是可见的,哪些是不可见的。低级别的隔离级一般支持更高的并发处理,并拥有更低的系统开销。Read Uncommitted(读取未提交内容) 在该隔离级别,所有事务都可以看到其他未提交事务的执行结果。本隔离级别很少用于实际应用,因为它的性能也不比其他级别好多少。读取未提交的数据,也被称之为脏读(Dirt转载 2014-08-07 22:36:34 · 541 阅读 · 0 评论 -
mysql连接hang住问题分析
【问题现象】:1. Linuxc多线程连接mysql数据库,每次都是短连接,操作完后就释放连接,有时候会出现mysql_real_connect挂住的现象2. 挂住超时mysql_real_connect返回后报错如下:Lostconnection to MySQL server at 'reading initial communication packet'原创 2013-05-06 19:46:39 · 4274 阅读 · 2 评论 -
mysql使用总结
1 开启事务之前需要rollback 连接句柄。(清理垃圾)2 mysql_ping 失败,程序需要处理重连逻辑;3 mysql_query()执行的SQL语句是一个以‘\0’结尾的字符串,而mysql_real_query()执行的字符串长度是参数指定的,因此,前者不能不能包含二进制数据(二进制数据中可能会包含‘\0’,导致被认为到达字符串末尾)实际使用中,推荐使用mysql_rea原创 2013-04-18 22:16:20 · 925 阅读 · 0 评论 -
mysql查看数据库日志
》show variables like '%log_bin%';如果 log_bin 参数是 on 就表明 是开启的》/var/lib/mysql 目录下 mysq-bin+数字 的 文件 即日志文件》[admin@]$ pwd/var/lib/mysql[admin@]$ sudo mysqlbinlog --start-datetime="2013-01-21 10:4原创 2013-04-17 19:59:42 · 1315 阅读 · 0 评论 -
mysql 死锁
使用SHOW INNODB STATUS;命令后,在LASTEST DETECTED DEADLOCK节会看到最近发生的一个(最近的一个)死锁信息,在里面可以找到发生死锁的线程ID和SQL语句。在编写程序的时候,在各个事务内部,对表的修改顺序最好一致(比如对所有表进行编号,尽量先修改编号小或者大的表),这样可以避免大多数的死锁。由于InnoDB预设是Row-Level Lock原创 2013-04-16 21:46:37 · 833 阅读 · 0 评论 -
查看事务锁:innodb_trx + innodb_locks + innodb_lock_waits
以前,当出现:ERROR 1205 (HY000): Lock wait timeout exceeded; try restarting transaction,要解决是一件麻烦的事情;特别是当一个SQL执行完了,但未COMMIT,后面的SQL想要执行就是被锁,超时结束,DBA光从数据库无法着手找出源头是哪个SQL锁住了;有时候看看 show engine innodb status, 并结合转载 2015-01-14 16:19:20 · 2230 阅读 · 0 评论