- 博客(14)
- 资源 (1)
- 问答 (3)
- 收藏
- 关注
原创 MySQL元数据锁
元数据锁类型1 MDL_INTENTION_EXCLUSIVE= 0意向排他元数据锁,只是在范围锁上适用,持有这个锁后才能升级到排他锁,与其他的ix锁兼容,与范围s,x锁不兼容2MDL_SHARED,共享元数据锁,用于对元数据感兴趣,并且不访问数据的情况3 MDL_SHARED_HIGH_PRIO,高优先级共享元数据锁,高优先级就是会忽略为了排他锁而生成的堆积请求,直接被授予4 MD...
2018-11-19 10:36:57 703
原创 关于mysql的order by limit
mysql中的order by 带limit与不带limit结果是不一样的。mysql> select table_name from tables order by table_rows;+------------------------------------------------------+| table_name ...
2018-11-16 17:47:17 1317
原创 django admin模块使用
在开发db运维平台的过程中,一开始没有用model,所有的操作都是自己用sql写,后面重构了下,用model模块,但是在使用的过程中遇到了一个问题,包含外键关系的2个模块,如果在前端展示2个model的内容时候,就不知道该怎么返回给前台了,后面看到了admin模块,admin模块的list_display可以实现这种功能,后面补充一个用例...
2018-11-14 20:59:23 279
原创 mysql子查询锁
session 1:mysql> begin;Query OK, 0 rows affected (0.00 sec)mysql> update a set name=(select name from bai where a.id=bai.id) where id=1;Query OK, 0 rows affected (0.00 sec)Rows matched: 1 ...
2018-11-14 09:53:54 413
原创 mysql工具
关于mysql的工具对于复制的几个比较感兴趣,测试下mysqlreplicate 主从复制工具mysqlrpladmin 主从复制管理工具mysqlrplcheck 主从复制检测工具mysqlrplms 主从多元复制工具mysqlrplshow 主从复制拓扑图工具mysqlrplsync 主从复制同步工具mysqlfailover 主...
2018-11-07 17:05:30 266
原创 mysql 组提交及涉及的参数
组提交有redo,和binlog的组提交为了避免每个提交flush,innodb使用了组提交来提升吞吐,就是将同一时间点的多个用户的事务分为一组,向日志文件做一次写入。官网上介绍不多:找一些连接:https://www.sohu.com/a/242875539_610509在这个连接的描述中,看的貌似是先flush redo 在写的binlog关于组提交中的数据一致性问题默认情况下,二...
2018-11-07 14:27:39 622
翻译 mysql中的并发复制
mysql在几个大版本中的并发复制都不一样,当然做的是越来越好。在5.6版本中–slave-parallel-workers参数代表并行执行复制事务的slave worker线程的数量,设置未0代表禁用并行复制,最大值是1024.当并行执行设置后,sql线程充当了slave worker线程的调度器,事务是基于每个数据库的。就是基于库级别的,由于是并发的就会导致,不同数据库上的事务在从库上应...
2018-11-07 09:53:12 801
原创 myql中间件proxysql
功能1 查询缓存,这种的只是针对查询结果固定的情况有用,线上能用到的场景不多2 配置的动态加载,说是跟router学的,router也是动态加载?还没测试3高级拓扑支持,为了高可用和灵活性支持的级联代理,复杂的mysql拓扑支持包括复制,failover或查询镜像(??什么鬼?)4查询路由 不同的查询需要路由到不同过的集群中,可以通过设置规则达到目的5防火墙功能 对于sql注入,一些低效...
2018-11-02 10:29:45 459
原创 mysql router
mysql router真的是很轻量级的一个中间件提供读写分离高可用应用连接router,屏蔽掉了后端的mysql实例,如果在连接失败后,应用有重试,那么router会选择一个新的实例连接。路由的server和路由的策略实在配置文件中定义的,如下:[routing:simple_redirect]bind_port = 7002routing_strategy = round-ro...
2018-11-01 17:08:55 874
翻译 mysql组复制限制
1 无法设置binlog-checksum2 认证过程没有考虑间隙锁,因为在innodb之外没有间隙锁的信息,官方建议使用rc隔离级别,哈哈,以后mysql的默认隔离级别就是rc了,好早之前就说过了3认证过程没有考虑表锁4多主组复制不支持serializable隔离级别5并发ddl和d’m’l操作,关于相同对象的ddl和dml在多主组复制的情况下,不建议在不同的server上执行,也就是要...
2018-11-01 15:59:26 343
翻译 mysql组复制需要的server配置
gtid,slave updates logged,binary log,replication information repositories=table,–transaction-write-set-extraction=XXHASH64 这个参数是在些日志到二进制日志的时候,同时收集write set,write set是基于每行的主键。并行复制设置slave_parallel_wor...
2018-11-01 15:33:16 241
翻译 mysql组复制-网络分区
当组内的大多数成员丢失的时候,组会阻塞不处理,比如5个server,3个静默了(异常终止),还剩2个,就不能自动配置了需要人工介入,此处有个疑问,如果3个和2个之间的网络有问题,导致了隔离(我认为2个的成员会变成阻塞状态,3个成员的正常,测试下,可以在官网的例子上看到3个会组成一个分区,需要关闭这3个实例,有点不太理解了)如果组内的成员是自动退出的,比如自动退了3个,那么组是能自动调节成员个数的...
2018-11-01 15:15:47 277
翻译 组复制中的恢复
当一个新成员加入组的时候,它会连接到一个donor上获取数据知道变成online,选择donor是随机的,这种方式就是在有多个server加入的时候,不会被多次选中。如果连接donor失败,会自动的连接新的donor,但是连接超过了retry的限制,恢复进程会报失败终止。在遇到一些错误的时候,连接donor会自动的switch over到别的donor上进行recoveryswitch ov...
2018-11-01 14:51:41 324
翻译 mysql组复制中的概念
失败检测失败检测机制能找到并报告哪个server静默了,然后被假定为死亡了,然后如果组同意这个server可能死亡了,那么久会认定这个server是挂了,然后组内的成员会排除掉这个成员。就是server a在给定的时间内没有收到server b的响应,超时了就会被怀疑挂了。当一个server被组孤立后,它也会怀疑别的成员挂了,但是它无法与组安全的达成一致,因为它无法确保quorum,它的怀疑...
2018-11-01 14:38:54 278
TA创建的收藏夹 TA关注的收藏夹
TA关注的人