表示 进入内容 140111402015677
« 先前的 10 新的记录 | 下一步 10 较早的记录 »
[MySQL案例]之一把看不见的锁

昨晚半夜处理了一个故障,只是简单SQL执行缺少索引导致CPU飙高,加一条索引就搞定。原来以为事情到此为止,让另外一个同事收尾准备睡觉了,这个时候高潮出现了。刚才处理的是一台slave server,为了保证实例数据对象一致性,让同事先删掉,然后在master server再加这条索引,最后发现add index的操作在slave server一直在等metadata lock释放了,并且在processlist里面居然找不到任何引起表锁的请求。就这样折腾了到凌晨,后面索性就丢在自己等锁释放,差不多过了6分钟创建成功,load再次下降。

分析

事后在5.5的手册中找到了解释:

To ensure transaction serializability, the server must not permit one session to perform a data definition language (DDL) statement on a table that is used in an uncompleted transaction in another session. The server achieves this by acquiring …

[获取更多]
magento前台访问错误

前台访问出现错误 General error: 145 Table './dbname/tablename' ismarked as crashed and should be repaired

解决方法:   cd /www/wdlinux/mysql/var/dbname   执行...

【mysql】   点击查看原文>

Wdcp缺少mod_rewite模块

1、下载apache源码包,解压并查找到mod_rewrite.c文件       tar -zxvf httpd-2.2.27.tar.gz       cd httpd-2.2.27          [root@localhost httpd-2.

【mysql】  【Apache】  【模块】  【源码】  【数据库】  【wdcp】  【gcc】   …

[获取更多]
织梦DedeCMS提示“无法获得主键,因此无法进行后续操作

最近在维护服务器时候,对mysql进行了转移,之前的是用的mysql直接安装的,后来的数据库是使用的西部数码的建站助手建的,所以后台出现的问题 根据网上的提示说是修复一下数据表就可以了,修复的时候,有消息提示说是表是只读的 发现没有mysql 用户 对data 这个目录没有权限 ,于是给权限,然后重启mysql服务,问题解决

【服务器】  【mysql】  【数据库】  【织梦】   点击查看原文>

[MySQL FAQ]系列 — MySQL联合索引是否支持不同排序规则

篇首语:
截止到目前的5.7.4版本为止,MySQL的联合索引仍无法支持联合索引使用不同排序规则,例如:ALTER TABLE t ADD INDEX idx(col1, col2 DESC)。

先来了解下MySQL关于索引的一些基础知识要点:

• a、EXPLAIN结果中的key_len只显示了条件检索子句需要的索引长度,但 ORDER BY、GROUP BY 子句用到的索引则不计入 key_len 统计值;
• b、联合索引(composite index):多个字段组成的索引,称为联合索引;
例如:ALTER TABLE t ADD INDEX `idx` (col1, col2, col3)
• c、覆盖索引(covering index):如果查询需要读取到索引中的一个或多个字段,则可以从索引树中直接取得结果集,称为覆盖索引;
例如:SELECT col1, col2 FROM t;
• d、最左原则(prefix …
[获取更多]
MySQL升5.6引发的问题

昨天项目MySQL数据库从5.5升级到5.6,导致部分表无法进行更新操作,报如下错误:

When @@GLOBAL.ENFORCE_GTID_CONSISTENCY = 1, updates to non-transactional tables can only be done in eit...

【mysql】  【innodb】  【数据库】  【Transaction】  【myisam】   点击查看原文>

hickey对《MySQL5.7 : 对隐式锁转换的优化》的评论

赞!讲的非常清楚。

[MySQL FAQ]系列 — SAVEPOINT语法错误一例

前几天帮同事解决一个案例,在主从复制环境下,从库上的MySQL版本号是5.5.5,遇到下面的错误:

#其他非相关信息我都隐藏掉了
 [(yejr@imysql.com)]> show slave status \G;
 Slave_IO_Running: Yes
 Slave_SQL_Running: No
 Last_Errno: 1064
 Last_Error: Error 'You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '6e86db84_14847168f19__8000' at line 1' on query. Default database: 'act'. Query: 'SAVEPOINT 6e86db84_14847168f19__8000'
 Last_IO_Errno: 0
 Last_IO_Error:
 Last_SQL_Errno: 1064
 Last_SQL_Error: Error 'You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '6e86db84_14847168f19__8000' at line 1' on query. Default database: 'act_log'. Query: 'SAVEPOINT 6e86db84_14847168f19__8000'

[获取更多]
新增sysbench和tpcc-mysql源码包下载

sysbench从sourceforge迁移到launchpad上了,代码管理改成了Bazaar,但很多人应该都没安装bzr客户端,因此我从launchpad服务器上把sysbench源码包checkout一份到本地,顺手把tpcc-mysql的源码包也下载了。本站下载地址见下:

sysbench-0.4.12-1.1.tgz

tpcc-mysql-src.tgz

复杂关联SQL的优化

昨天处理了一则复杂关联SQL的优化,这类SQL的优化往往考虑以下四点:

第一.查询所返回的结果集,通常查询返回的结果集很少,是有信心进行优化的;

第二.驱动表的选择至关重要,通过查看执行计划,可以看到优化器选择的驱动表,从执行计划中的rows可以大致反映出问题的所在;

第三.理清各表之间的关联关系,注意关联字段上是否有合适的索引;

第四.使用straight_join关键词来强制表之间的关联顺序,可以方便我们验证某些猜想;

SQL:
执行时间:
mysql> select c.yh_id,
-> c.yh_dm,
-> c.yh_mc,
-> c.mm,
-> c.yh_lx,
-> a.jg_id,
-> a.jg_dm,
-> a.jg_mc,
-> a.jgxz_dm,
-> d.js_dm yh_js
-> from a, b, c
-> left join d on d.yh_id = c.yh_id
-> …

[获取更多]
表示 进入内容 140111402015677
« 先前的 10 新的记录 | 下一步 10 较早的记录 »