mysq命令

【*】查看mysql支持那些存储引擎

show ENGINES

【*】mysql最重要的存储引擎innodb

之前做读写分离,读使用MyISAM,写用innordb,但是现在MyISAM已经不维护了,所以这种做法已经不成立了

【*】mysql5.5之前默认存储引擎是MylSAM,5.5之后是innordb

【*】mysql分析语句  

explain select * from sys_role_user

【*】mysql逻辑架构

实例->databases->schema->表->列,在mysql中database和schema一样,但是在Oracle或者其他的数据库中不一样

【*】查看mysql数据文件位置

show VARIABLES like 'datadir'

  • 里面存放的内容就是数据库,文件夹的名称对应数据库

  • 文件夹中的内容,就是表文件

.frm文件:表结构文件,.ibd文件:表数据文件  :当存储数据库的机器损坏了,data里面的这两个内容还在,可以进行表数据的恢复

【*】使用MyISAM存储引擎创建的表,可以看到多出了两个文件

其中涉及了一个概念,就是聚集索引和非聚集索引,MyISAM使用的就是非聚集索引,而innordb使用ibd,数据和索引放在了一起是聚集索引,而数据和索引分开存放的表叫做堆表,以前使用MyISAM的原因是因为其支持表压缩,现在innordb同样支持表压缩了,所以MyISAM,现在不维护了,原因是使用MyISAM对表进行压缩之后,就不能够进行插入了。

  • .MYD:保存了表的数据
  • .MYI:是表的索引

【*】innordb有两种表空间模式

系统表空间和独立表空间,建议使用独立表空间,系统表空间有io瓶颈,且无法收缩文件大小

  • 查看当前是否使用的是独立表空间的命令,on代表使用的是独立表空间
SHOW VARIABLES LIKE '%innodb_file_per_table%'

【*】MyISAM和innordb区别

【*】mysql中的锁

  • 表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低。
  • 行级锁:开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率最低,并发度也最高。
  • 页面锁(gap ,间隙锁):开销和加锁时间界于表锁和行锁之间;会出现死锁;锁定粒度界于表锁和行锁之间,并发度一般

【*】表锁有两种模式

表共享读锁(Table Read Lock):读锁,读锁和读锁不是互斥的;读和写,写和写是互斥的

  • 读锁的命令
lock table [表名] READ
表独占写锁( Table Write Lock ):写锁,互斥
  • 写锁的命令
lock table [表名] WRITE
  • 解锁
UNLOCK TABLES

【*】MyISAM 表锁

  • 读锁,对 MyISAM 表的读操作,不会阻塞对当前表读请求,但会阻塞写请求
  • 读锁,对 MyISAM 表的读操作,不会阻塞当前 session 对表读请求,当对表进行修改会报错
  • 读锁,一个 session 使用 LOCK TABLE 命令给表 f 加了读锁,这个 session 可以查询锁定表中的记录,但更新或访问其他表都会提示错误;
  • 写锁,对 MyISAM 表的写操作,则会阻塞其他用户对同一表的读和写操作;
  • 写锁,对 MyISAM 表的写操作,当前 session 可以对本表做 CRUD,但对其他表进行操作会报错
【*】Lock wait timeout exceeded; try restarting transaction异常解决办法
1、查看数据库当前的进程,看一下有无正在执行的慢SQL记录线程。
show  processlist;

2.查看数据库的使用问题

SELECT * FROM information_schema.INNODB_TRX

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SuperLBY

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值