摘要: php mysql lock tables 使用有感 mysql 的 表锁 lock tables 感觉就像一个 封闭的空间 mysql发现 lock tables 命令的时候,会将带有锁标记的表(table) 带入封闭空间,直到 出现 unlock tables 命令 或 线程结束, 才关闭封闭空 阅读全文
posted @ 2018-06-22 18:18 星朝 阅读(10415) 评论(0) 推荐(2)
摘要: mysql在执行sql的时候会在日志当中记录很多信息,当然包括执行的所有语句。下面以使用navicat for mysql为例,来展示一下如何打开/查看MySQL的SQL记录:打开navicat for mysql,并连接到数据库,选择一个要操作的数据库。点击左上角的【工具】,选择历史日志选项,或者 阅读全文
posted @ 2018-06-22 18:06 星朝 阅读(5145) 评论(0) 推荐(0)
摘要: 程式 Debug 有時後從前面第一行追起來很辛苦(程式碼太多或 compile 過), 另一種做法就是從後面追起來, 反正最後寫入的是 DB, 那就從 DB 開始往前推, 所以就是要抓程式是執行哪些 SQL 語法.(以下只以 MySQL 為主) 之前用過的追蹤法是用 tcpdump 或 wiresh 阅读全文
posted @ 2018-06-22 18:04 星朝 阅读(646) 评论(0) 推荐(0)
摘要: 最近给客户开发了基于Asp.Net mvc5 +Mysql+EF的项目,但是在EF里无法看到Mysql执行的语句之前也找到一些监控Mysql的软件但一直没有用起来,现在又遇到了问题即在EF里Mysal的查询没有结果而在Mysql里没有问题因为不知道EF生成的Mysql语句所以不知道是不是Sql的问题 阅读全文
posted @ 2018-06-22 18:02 星朝 阅读(3991) 评论(0) 推荐(0)
摘要:   在平时的mysql运维操作中,经常会碰到插入中文字段后出现乱码的情况,产生中文乱码的原因一般有:1)mysql的编码格式不对,是latin1编码。强烈推荐将mysql下的编码格式都改为utf8,因为它兼容世界上所有字符!2)mysql的表的语系设定问题(包含character与coll 阅读全文
posted @ 2018-06-22 17:57 星朝 阅读(204) 评论(0) 推荐(0)
摘要:   在日常mysql运维中,经常要查询当前mysql下正在执行的sql语句及其他在跑的mysql相关线程,这就用到mysql processlist这个命令了。mysql> show processlist;          &nb 阅读全文
posted @ 2018-06-22 17:57 星朝 阅读(358) 评论(0) 推荐(0)
摘要:   在mysql日常操作中,妙用pager设置显示方式,可以大大提高工作效率。比如select出来的结果集超过几个屏幕,那么前面的结果一晃而过无法看到,这时候使用pager可以设置调用os的more或者less等显示查询结果,和在os中使用more或者less查看大文件的效果一样。 pag 阅读全文
posted @ 2018-06-22 17:56 星朝 阅读(199) 评论(0) 推荐(0)
摘要:   在mysql运维操作中会经常使用到alter这个修改表的命令,alter tables允许修改一个现有表的结构,比如增加或删除列、创造或消去索引、改变现有列的类型、或重新命名列或表本身,也能改变表的注释和表的类型。下面就针对alter修改命令的使用做一梳理: 在mysql运维操作中会经 阅读全文
posted @ 2018-06-22 17:55 星朝 阅读(522) 评论(0) 推荐(0)
摘要:   1、创建索引索引的创建可以在CREATE TABLE语句中进行,也可以单独用CREATE INDEX或ALTER TABLE来给表增加索引。以下命令语句分别展示了如何创建主键索引(PRIMARY KEY),联合索引(UNIQUE)和普通索引(INDEX)的方法。 ?12345mysql 阅读全文
posted @ 2018-06-22 17:53 星朝 阅读(263) 评论(0) 推荐(0)
摘要: http://qq85609655.iteye.com/blog/2113960   1)我们先通过status命令查看Mysql运行状态 mysql> status; mysql Ver 14.14 Distrib 5.1.73, for redhat linux gnu (x86 阅读全文
posted @ 2018-06-22 17:30 星朝 阅读(766) 评论(0) 推荐(0)
摘要: processlist命令的输出结果显示了有哪些线程在运行,可以帮助识别出有问题的查询语句,两种方式使用这个命令。1.      进入mysql/bin目录下输入mysqladmin processlist;2.  &n 阅读全文
posted @ 2018-06-22 17:14 星朝 阅读(2212) 评论(0) 推荐(0)
摘要: 案例描述在定时脚本运行过程中,发现当备份表格的sql语句与删除该表部分数据的sql语句同时运行时,mysql会检测出死锁,并打印出日志。两个sql语句如下:(1)insert into backup_table select from source_table(2)DELETE FROM sourc 阅读全文
posted @ 2018-06-22 16:43 星朝 阅读(473) 评论(0) 推荐(0)
摘要: MySQL有以下几种日志: 错误日志: log err 查询日志: log 慢查询日志: log slow queries 更新日志: log update 二进制日志: log bin 默认情况下,所有日志创建于mysqld数据目录中。通过刷新日志,你可以强制 mysqld来关闭和重新打开日志文件 阅读全文
posted @ 2018-06-22 16:41 星朝 阅读(13638) 评论(0) 推荐(0)
摘要: 注:以下内容为根据《高性能mysql第三版》和《mysql技术内幕innodb存储引擎》的innodb status部分的个人理解,如果有错误,还望指正!! innodb存储引擎在show engine innodb status(老版本对应的是show innodb status)输出中,显示除了 阅读全文
posted @ 2018-06-22 15:33 星朝 阅读(1014) 评论(0) 推荐(0)
摘要: 1    死锁问题背景    1 1.1    一个不可思议的死锁    1 1.1.1    初步 阅读全文
posted @ 2018-06-22 15:15 星朝 阅读(356) 评论(0) 推荐(0)
摘要:   1    背景    1 1.1    MVCC:Snapshot Read vs Current Read    2 1.2 阅读全文
posted @ 2018-06-22 15:14 星朝 阅读(222) 评论(0) 推荐(0)
摘要:   MySQL锁概述   相对其他数据库而言,MySQL的锁机制比较简单,其最显著的特点是不同的存储引擎支持不同的锁机制。比如,MyISAM和MEMORY存储引擎采用的是表级锁(table level locking);BDB存储引擎采用的是页面锁(page level lock 阅读全文
posted @ 2018-06-22 15:06 星朝 阅读(284) 评论(0) 推荐(0)
摘要:    1.    mysql都有什么锁   MySQL有三种锁的级别:页级、表级、行级。 表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低。 行级锁:开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概 阅读全文
posted @ 2018-06-22 14:50 星朝 阅读(338) 评论(0) 推荐(1)
摘要: 一、概述 数据库锁定机制简单来说,就是数据库为了保证数据的一致性,而使各种共享资源在被并发访问变得有序所设计的一种规则。对于任何一种数据库来说都需要有相应的锁定机制,所以MySQL自然也不能例外。MySQL数据库由于其自身架构的特点,存在多种数据存储引擎,每种存储引擎所针对的应用场景特点都不太一样, 阅读全文
posted @ 2018-06-22 14:42 星朝 阅读(206) 评论(0) 推荐(0)
摘要: 如何查看MySQL的当前存储引擎? 一般情况下,mysql会默认提供多种存储引擎,你可以通过下面的查看:   看你的mysql现在已提供什么存储引擎: mysql> show engines;   看你的mysql当前默认的存储引擎: mysql> show vari 阅读全文
posted @ 2018-06-22 14:27 星朝 阅读(12716) 评论(0) 推荐(0)