MySQL 的 auto.cnf 文件

AUTO.CNF 文件MySQL 5.6 以上版本数据目录中,存储了 server_uuid 值的一个文件:```serveruuid=60441692b40f11e780d100163e0e52af```在 MYSQL 启动时,会自动从 auto.cnf 文件中获取 server_uuid 值,并将其存储在全局变量 server_uuid 中。server_uuid 与 server_id 一样,用于标识MySQL实例在集群中的唯一性,这两个参数在主从复制中具有重要作用,如果主
阅读全文

主备切换之GTID

一主多从结构<!A和A' 互为主备,从库B、C、D指向A,当A出问题后,B、C、D也需要重新指向A',切换复杂性也随之增加。 基于位点的主备切换将节点B设置为A'的从库时,需要执行chang master 命令:```CHANGE MASTER TO MASTER_HOST=$host_name A'的IPMASTER_PORT=$port A'的端口MASTER_USER=$user_name A'的用户
阅读全文

20.MySQL 幻读

阅读全文

19.查询一行的SQL语句为何很慢?

查询一行的SQL语句为何很慢?查询结果长时间不返回 原因:表被锁; 执行 show processlist 查看当前语句所处状态 状态1:等 MDL 锁 有一个线程正在表上请求,或者持有 MDL 锁,把 SELECT 语句堵住了。 show processlist 返回的是:waiting for table metadata lock 处理方法:找到谁持有 MDL 写锁,将其 kill 掉。 使用 select blocking_pid from sys.schem
阅读全文

MYSQL 索引为何会用不到?

MYSQL 索引为何会失效? 1.条件字段使用了函数操作对索引字段做函数操作会有以下影响: 破坏索引值的有序性,导致优化器放弃走树搜索功能(不一定是放弃使用索引) 2.隐式类型转换举个栗子:`varchar(32)` 字段 `uname` 输入参数使用整型如:`uname=123456` 实际执行的就是 `CAST(uname AS signed int) = 123456` 使用 `SELECT '10' 9 ; 返回 1` 可以知道,MySQL 的转
阅读全文

mysql 覆盖索引,前缀索引以及索引下推

阅读全文

mysql 中 count(*) 与 order by 工作原理

右键新的标签页打开查看原图
阅读全文

MySQL delete 数据时表空间的回收

自己写了个归纳。
阅读全文

mysql 全局锁和表锁

全局锁和表锁 全局锁 加全局读锁:Flush tables with read lock(FTWRL),做全库逻辑备份 mysqldump singletransaction 会启动一个事务,确保拿到一致性视图(适用于所有的表使用事务引擎的库) 为什么不用 set global readonly = true ? readonly 可能会被用来判断一个库是主库还是从备库...
阅读全文

MYSQL 索引(一)

索引:在存储引擎实现 哈希表 1. 键 值(key value)结构 把值放在数组里,用一个哈希函数把 key 换算成一个确定的位置,然后把 value 放在数组的这个位置。 2. 不是有序的,新增索引很快,做区间查询很慢 3. 适用于只有等值查询的情况 有序数组 1. 等值查询和区间查询场景中的性能非常优秀; 2. 只适用于静态存储引擎 二叉搜索树...
阅读全文