自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(838)
  • 资源 (1)
  • 论坛 (1)
  • 问答 (3)
  • 收藏
  • 关注

原创 mysql xtrabackup工具等待优化

xtrabckup工具的备份优化,添加了下面的参数Options summary–ftwrl-wait-timeout (seconds) - how long to wait for a good moment. Default is 0, not to wait.–ftwrl-wait-query-type - which long queries should be finished before FLUSH TABLES WITH READ LOCK is run. Default is al

2020-12-06 18:12:28 41

原创 gap lock记录

gap lock没有sx冲突一说,在主键上的查询如何没有对应的记录,也是next-key lock,不是单纯的行锁

2020-12-06 16:29:40 44

原创 mysql是否会缓存执行计划

网友问题了一个问题,oracle中有硬解析,软解析之分,mysql是否也有软解析?解析完sql后,后面不会再次重复解析?其实是有的就是query cache,之前一直认为query cache是缓存结果数据的,其实不是。/* Warning. The purpose of query_cache_send_result_to_client() is to lookup the query in the query cache first, to avoid parsing and

2020-12-02 15:25:49 60

原创 mysql 一个update语句事务的执行流程

更新空行不会开启2阶段提交,没有prepare阶段开始执行begin命令#endif case SQLCOM_BEGIN: if (trans_begin(thd, lex->start_transaction_opt)) goto error; my_ok(thd); break; ** Begin a new transaction. @note Beginning a transaction implicitly commits a

2020-12-02 10:32:58 154

原创 oracle闪回与undo的关系

Query all rely on undo data, records of the effects of each update to an Oracle databaseand values overwritten in the update. Used primarily for such purposes as providingread consistency for SQL queries and rolling back transactions, these undo records

2020-11-26 17:43:53 119

原创 mysql限制并行

对一个innodb来说,限制并发线程的主要目的是减少上下文切换导致的性能问题。在有助于最大程度地减少线程之间的上下文切换的情况下,InnoDB可以使用多种技术来限制并发执行的操作系统线程的数量(从而限制在任何时间处理的请求的数量)。当InnoDB从用户会话接收到新请求时,如果同时执行的线程数处于预定义的限制内,则新请求将休眠一小段时间,然后再次尝试。睡眠后无法重新安排的请求被放入先进/先出队列,并最终得到处理。等待锁的线程不计入同时执行的线程数。您可以通过设置配置参数innodb_thread_conc

2020-11-25 11:44:15 59

原创 mysqld初始化没有系统库生成

在debian的系统上进行mysqld 初始化的操作,但是没有看到有系统库生成,导致无法启动,指定了defaults-file依然不行。需要加–no-defaults添加参数–no-defaults,进行初始化。并且,切记要放在参数的首位!http://www.voidcn.com/article/p-zzxrezio-zp.html...

2020-11-17 11:51:31 38 1

原创 gunicorn启动django的坑

配置文件bind = ‘0.0.0.0:80’workers = 8threads = 64loglevel = ‘debug’timeout=120backlog = 1024worker_class = ‘gevent’daemon = Trueproc_name = ‘xxx’pidfile = ‘./xx.pid’accesslog = ‘./log/all.log’errorlog = ‘./log/error.log’用上面的的方式启动的时候总是提示worker超时,即

2020-10-18 21:39:55 193

原创 mysql修改源码发布及源码中的debug日志查看

修改了mysql的源码后,就能按照,源码编译部署的步骤进行部署,打成一个解压即用的包。mkdir debugcd debugcmake … -DCMAKE_INSTALL_PREFIX=/usr/local/mysql57 -DMYSQL_DATADIR=/user/local/mysql57/data -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DMYSQL_TCP_PORT=3309 -DMYSQL_USE

2020-10-13 17:09:53 80

原创 zookeeper是如何实现应用的高可用及假死的问题

来自:https://tech.souyunku.com/?p=11706用到的zookeeper主要特性:节点唯一多个client竞相创建相同路径的节点时,只有一个client能成功。临时节点client创建节点时,如果指定节点的类型为临时节点,那么此节点的生命周期就是当前的会话,如果client挂了,与zookeeper的连接会话就结束了,此节点便被自动删除。Watcherclient可以对目标节点进行监听,例如监听此节点的状态变化,那么当节点被删除时,client就会收到zookeepe

2020-10-09 16:21:52 62

原创 mysql用xtrabackup 在从库制作新从库

innobackupex --defaults-file=/data/mysql_3320/my3320.cnf --user=mybackup --password=‘qkyo9eGlf0DCGo3x7UHU’ --socket=/tmp/mysql_3320.sock --slave-info --safe-slave-backup --no-timestamp /data/mysql_backup/3320innobackupex --apply-log /data/mysql_b.

2020-09-24 17:21:30 36

原创 mysql数据变更捕获用什么

在捕获mysql变更上,有一些组件可以直接使用的,maxwell ,databus,canal,这三个工具上maxwel足够简单支持mysql到kafak,databus比较复杂,需要自己写代码去databus上消费,支持的数据源比较多,canal也支持客户段消费,也能把变更发送到kafka,也支持集群模式,从这个上面来看个人更倾向canalhttps://blog.csdn.net/qq_25073261/article/details/104969148?utm_medium=distribute.p

2020-09-17 14:19:09 47

原创 mysql ,oracle不一样的一个例子

oracleSQL> select * from dba_test;ID50session a:SQL> update dba_test set id=id-10;1 row updated.SQL> commit;在commit前执行session bsession b:SQL> update dba_test set id=id-30;–被a阻塞,a提交后,1 row updated.SQL> select * from dba_test;I

2020-09-10 14:55:27 32

原创 mongodb知识回顾

mongodb --nssize默认情况下,MongoDB(MMAP)的每个数据库的命名空间保存在一个 16MB 的 .ns 文件中,平均每个命名占用约 628 字节,也即整个数据库的命名空间的上限约为 24000。每一个集合、索引都将占用一个命名。所以,如果每个集合有一个索引(比如默认的 _id 索引),那么最多可以创建 12000 个集合。如果索引数更多,则可创建的集合数就更少了。同时,如果集合数太多,一些操作也会变慢。不过,如果真的需要建立更多的集合的话,MongoDB 也是支持的,只需要在启动

2020-09-09 10:30:27 86 1

原创 5.7的一个开发上的bug

https://bugs.mysql.com/bug.php?id=79549Regression: “unknown column” for outer computed values used inside a subquery关联自查询中使用外部的别名,无法识别的问题,开发时候需要注意下

2020-08-18 11:40:47 84

原创 django定时任务

django结合celery实现定时任务,高版本的celery已经不需要djcelery了,django与celery的版本要匹配,否则会出现一系列的问题。我的版本django2.1.12 celery 4.4.4 python3.7 kombu 4.6.10启动方式:1启动djangovenv/bin/python3 manage.py runserver 80002 启动beatvenv/bin/celery -A dbplat beat -l info3 启动workervenv/

2020-06-06 15:59:25 146

原创 MongoDB的读写分离

MongoDB的读写分离也是在代码层面配置参数,然后复制集自动的进行了转发,从mongodb自带的分片和读写分离来看,真是是比mysql功能上好很多,天然的大数据量的存储。使用的ReadPreference方式进行的读写分离,配置的策略还是比较多的参考:https://blog.51cto.com/lizhuquan0769/1763287...

2020-06-05 10:46:58 130

原创 mysql Orchestrator使用与mha对比

待填充

2020-05-27 14:25:51 396

原创 mysql读书笔记

mysql的体系结构,可以分为以下的几个模块:1 server初始化模块2 连接管理器3 线程管理器4 连接线程5 用户认证模块6访问控制7解析8命令分发9 查询缓存10 优化器11 表管理12 表定义模块13表维护模块14状态报告模块15抽象存储引擎接口16存储引擎实现17日志记录18 复制master19 复制slave20 客户端服务端api21 低级别的网络io api22 核心api在书中提到,select命令会被传递到优化器上,dml ddl会转发到

2020-05-25 17:08:20 258

原创 mysql并行复制设置多少worker合适

开启并行复制后,在日志中会输出下面的一些指标信息 Multi-threaded slave statistics for channel '': seconds elapsed = 192; events assigned = 86017; worker queues filled over overrun level = 0; waited due a Worker queue full = 0; waited due the total size = 0; waited at clock confli

2020-05-19 17:10:25 111

原创 mongodb索引

MongoDB indexes use a B-tree data structure.b-tree与b+tree区别?单列索引db.products.createIndex( { item: 1, quantity: -1 } , { name: "query for inventory" })Multikey IndexMongoDB uses multikey indexes to index the content stored in arrays. If you index

2020-05-15 10:32:50 57

原创 mysql半同步

半同步中如果在主服务器端启用了半同步复制,并且至少有一个半同步从服务器,则在主服务器上执行事务提交的线程将阻塞并等待,直到至少一个半同步从服务器确认已接收到该事务的所有事件为止,或者直到 发生超时。从属仅在将事件写入其中继日志并刷新到磁盘后才确认收到事务的事件如果发生超时而没有任何从属服务器确认该事务,则主服务器将还原为异步复制。 当至少有一个半同步从属服务器赶上时,主服务器将返回到半同步复制必须在主服务器和从服务器上都启用半同步复制。 如果在主服务器上禁用了半同步复制,或者在主服务器上但没有从属服

2020-05-14 17:30:52 75

原创 mysql sync_binlog与组提交的关系

组提交参数:binlog_group_commit_sync_delayControls how many microseconds the binary log commit waits before synchronizing the binary log file to disk. By default binlog_group_commit_sync_delay is set to 0, meaning that there is no delay. Sbinlog_group_commit_s

2020-05-13 10:37:41 376

原创 mongodb中replicate set的选举

影响选举的因素和条件节点成员每2秒向对方发送一次心跳,如何在10s内没有返回就标记不可访问。优先级的设置优先级的设置会影响选举,优先级是0的成员不能被选举成主库,不参加选举,只要当前主数据库具有最高优先级值,或者副本组中最新的oplog条目在10秒内没有更高优先级的辅助数据库,则副本集不举行选举如果较高优先级的成员在当前主节点的最新操作日志条目的10秒钟内赶上来,则该集合将举行一次选举,以便为较高优先级的节点提供成为主节点的机会。optime是成员从oplog应用的最后一个操作的时间戳。 除非副本

2020-05-12 18:37:40 84

原创 mongdb wiredtiger存储引擎

wiredtiger存储引擎是文档级别的并发,多个客户端能同时操作一个集合中的不通的文档。对于大多数的读写操作,wiredtiger使用乐观锁的并发控制,在global,database collection级别使用意向锁,当存储引擎检测到两个操作冲突时候,mongodb会透明的对导致写冲突的操作进行重试。一些全局的操作,例如一些包含多个数据库的短期操作,仍然会需要全局的实例级别锁,一些其他操作,比如删除集合,需要一个排他的数据库锁。快照和检查点wiredtiger提供mvcc,在操作的开始,wir

2020-05-12 16:30:02 109

原创 mysql 组复制-简介

组复制提供了了容错能力,只要组中的大多数的成员存活,那么系统就是可用的,组复制有2中形式,多master,所有server都能接受更新和单master自动选主,只有master接受更新,有更新冲突的时候,会采用先提交获胜的策略,回滚掉后提交的,组复制中对于读写的事务的提交并不是有原始的server单独决定的,需要所有的server决定是否提交,在原始server上提交的时候,该server会发送一个广播,包含行改变及行的唯一标识符,然后这个事务有个全局总顺序,确保每个server上接收的是相同顺序的事务,在

2020-05-11 16:35:16 65

原创 mysql组复制-流控

group_replication_flow_control_mode这个参数控制着流控的类型,在有大量写延时的情况下需要调整流控的配置组复制确保事务只在组中的大多数成员收到后才提交,并同意所有同时发送的事务之间的相对顺序。如果写入组的总数量不超过组中任何成员的写入容量,则此方法运行良好。 如果是这样,一些成员的写入吞吐量比其他成员少,特别是小于作者成员,那么这些成员就可能开始落后。出现组复制的延时会引起很多的问题,1在别的server上读取的数据是旧的。2别的server需要预留出更多的空间来满足慢

2020-05-11 16:34:35 135

原创 mysql关于write set的几个参数

transaction_write_set_extraction:这个参数设置hash算法,用来做组复制的冲突检测处理Defines the algorithm used to generate a hash identifying the writes associated with a transaction. If you are using Group Replication, the hash value is used for distributed conflict detection a

2020-05-11 16:13:16 340

原创 mongodb replicaset中的arbiter

https://docs.mongodb.com/v3.0/core/replica-set-arbiter/arbiter只能在replicaset是偶数的成员时候使用,参考官方文档

2020-05-09 10:25:52 257

原创 hue显示bigint问题修复

在hue显示bigint的时候超过17位,接口返回的是正确值,但是前端返回的不正确。https://www.zhihu.com/question/34564427修改了后端,让所有的字段都变成string。def rows(self):while self.has_more:yield [str(x) for x in self.next.pop(0)]/home/hue-cdh6.1...

2020-04-19 12:38:26 97

原创 dg修改redo大小

备库1 停止复制2 添加standby组。11~163 删除旧standby 5~10主库1添加redo 11~142删除旧redo 1~4备库1手工管理2 添加redo 5~83 删除旧redo 1~4主库1 删除standby 5~102 主库添加standby 5~10备库开始复制开启自动管理...

2020-04-17 17:22:38 101

原创 oracle的归档删除策略问题

有个2dg的环境现在从库的应用出现了问题,导致一个从库上归档日志没有了从这次的问题上看主库上的rman策略是CONFIGURE RETENTION POLICY TO REDUNDANCY 7;就是最近7次的备份是有效的,之前的都标记过期。然后在rman备份的日志上看,备份完的delete input,并没有删除备份的归档。提示还没有应用,RMAN-08137: WARNING: ar...

2020-04-11 21:23:30 172

原创 centos7安装python3.7

https://www.cnblogs.com/anxminise/p/9650206.html

2020-04-08 22:09:39 70

原创 python venv使用问题

开发环境开发完后,部署到线上,这个venv就不能用了,文件中的路径不一样了,还要单独处理,比较麻烦,要是能直接切换下,能继续使用就方便了

2020-04-08 21:43:16 126

原创 django-cas-ng使用问题记录

在使用django-cas-ng的时候退出的时候遇到了问题,在接入公司的cas服务器后,退出的时候拼接的地址与公司的不符合,主要是回调的名称公司用的是service,django-cas-ng使用的是url,修改cas.py中的变量即可logout_redirect_param_name = ‘service’...

2020-04-07 22:04:09 208

原创 MySQL中为什么慢日志中的select 的lock time也有值?

lock_utime= (thd->utime_after_lock - thd->start_utime);void set_time_after_lock() { utime_after_lock= my_micro_time(); MYSQL_SET_STATEMENT_LOCK_TIME(m_statement_psi, (utime_after_l...

2020-04-02 11:57:56 226

原创 xtrabckup的流程

xtrabackup是拷贝的innodb文件,这种的直接拷贝肯定是数据文件不一致的,拷贝完后会恢复来让数据文件达到一致的状态。恢复是使用的redo log,也是称为事务日志。也是对redo的事务进行重做,然后对未提交的事务进行回滚。xtrabackup在开始的时候会记录lsn号,然后开始拷贝数据文件,xtrabackup会在后台开启线程观察事务日志,并且进行拷贝,因为redo是循环使用的,所以要...

2020-03-29 12:18:04 75

原创 mysql 自动化运维agent需要包含的功能

1 实例信息的上传2 慢查询实时监控3 参数检测,角色检测4 慢日志解析

2020-03-28 11:03:08 235

原创 seconds_behind_master计算方式

总是被问这个问题,不是准确值,之前看过记不清楚怎么计算的了,还是看下源码吧,面试问这个能反映出来啥(除了哪些真看过源码的)。。。看下伪代码/* The pseudo code to compute Seconds_Behind_Master: if (SQL thread is running) { if (SQL thread processed ...

2020-03-27 11:18:19 196

原创 oracle 建表时候表上带引号导致的问题

在测试环境上,查询一个表的时候总是提示表名不存在,但是在查dba_tables视图的时候,能看到这个表,这个就比较奇怪,测试发现是在建表的时候使用了双引号。SQL> conn scott/tigerConnected.SQL> create table "bai"(id int,name varchar2(10));Table created.SQL> select...

2020-03-24 09:05:43 167

开发者突击:java web 主流框架整合开发 源代码

开发者突击:java web 主流框架整合开发 源代码

2014-12-20

aoerqileng的留言板

发表于 2020-01-02 最后回复 2020-01-02

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除