添加字段注意事项
FTWRL —— flash table with read lock —— 全局读锁
MDL —— meta data lock —— 元数据锁
全量备份会用到全局读锁
全局读锁用在不支持一致性读的引擎上,比如myisam,不支持事务
所有表都支持事务的库
mysqldump -single-transaction
lock tables \ unlock tables 表锁操作,语法 lock tables t1 read, t2 write; 删除锁语法——unlock tables;
换成
begin commit
注意:表锁不明智
mysql information_schema 库里查看innodb_trx表长事务情况
事务提交,MDL锁才会释放,
读写锁互斥
如果更改表结构,需要MDL写锁
之后的查询更新会被MDL写锁堵塞
线程很快被占满
注意:避免长事务
等待时间里没有拿到MDL读锁就先放弃,不阻塞其他查询、更新操作
NOWAIT / WAIT n
alter table wait n add column…