为了给高并发情况下的mysql进行更好的优化,有必要了解一下mysql查询更新时的锁表机制。一、概述MySQL有三种锁的级别:页级、表级、行级。MyISAM和MEMORY存储引擎采用的是表级锁(table-level locking);BDB存储引擎采用的是页面锁(page-level lockin...
分类:
数据库 时间:
2014-12-30 14:50:41
阅读次数:
203
这个问题想必大家都被问过无数次。今天来总结一下。 1.myisam: 文件结构:frm,myi,myd frm是文件信息,myi是索引文件,myd是数据文件。(5.6之前只有myisam支持全文检索。Innodb不支持全文检索,5.6以后开始支持。...
分类:
数据库 时间:
2014-12-29 06:45:34
阅读次数:
163
exec sp_dboption 'dbname1','single user',‘true’dbcc checkdb('dbname1')dbcc checkdb('dbname1',REPAIR_FAST)dbcc checkdb('dbname1',REPAIR_REBUILD)dbcc ch...
分类:
数据库 时间:
2014-12-27 12:37:11
阅读次数:
218
mysqlcheck -u root -p --auto-repair --all-databases[ROOT mysql]$ chown mysql *[ROOT mysql]$ chgrp mysql *[ROOT mysql]$ chmod ug+rwx如果没有mysql表,一般是权限的问题...
分类:
数据库 时间:
2014-12-26 18:33:22
阅读次数:
178
一.ICP注意一下ICP的使用条件:只能用于二级索引(secondaryindex)。explain显示的执行计划中type值(join类型)为range、ref、eq_ref或者ref_or_null。且查询需要访问表的整行数据,即不能直接通过二级索引的元组数据获得查询结果(索引覆盖)。ICP可以用于MyISAM和InnnoDB存储引..
分类:
数据库 时间:
2014-12-26 14:52:59
阅读次数:
244
1:如何找回mysql的数据用repair table能够找回绝大多数的数据,但还是有部分有错误的记录(这些记录都是在copy数据文件的时候正在读写的记录)在修复时被直接删除了。所以,我认识到我们这种备份的方式存在隐患。查阅了mysql的文档,看到文档中记录了两种安全备份的方法:1. mysqlho...
分类:
数据库 时间:
2014-12-26 14:28:51
阅读次数:
180
首先修改数据库为单用户模式alter database Tfs_DEV set single_user with rollback immediate使用DBCC修复数据库,使用REPAIR_ALLOW_DATA_LOSS最低级别的修复模式DBCC CHECKDB (Tfs_DEV, REPAIR_...
分类:
数据库 时间:
2014-12-25 09:51:49
阅读次数:
231
【mysql断电重启后修复myisam表错误】fix_myisam_table.sh#!/bin/bash
#
#2014/10/13
fix_bin=‘/usr/bin/myisamchk‘
d_db_data=‘/data/mysql_data/3306‘
dt=`date+"%y%m%d"`
cd${d_db_data}
echo‘>>===========================‘
tail`hostname`.err-n200|grep$dt|grep"..
分类:
数据库 时间:
2014-12-24 18:32:47
阅读次数:
199
假如表中包含一列为auto_increment,如果是Myisam类型的引擎,那么在删除了最新一笔数据,无论是否重启Mysql,下一次插入之后仍然会使用上次删除的最大ID+1.mysql> create table test_myisam (id int not null auto_incremen...
分类:
数据库 时间:
2014-12-24 17:58:15
阅读次数:
426
key_buffer_size 为了最小化磁盘的 I/O , MyISAM 存储引擎的表使用键高速缓存来缓存索引,这个键高速缓存的大小则通过 key-buffer-size 参数来设置。如果应用系统中使用的表以 MyISAM 存储引擎为主,则应该适当增加该参数的值,以便尽可能的缓存索引,提高访问的....
分类:
数据库 时间:
2014-12-23 11:51:02
阅读次数:
244