自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 mysql mrr及一个优化器的问题

在测试mrr的时候,遇到了一个有趣的问题,这个问题已经提交官方bug,官方已经确定是个bug| bai_test | CREATE TABLE `bai_test` ( `id` int(11) NOT NULL AUTO_INCREMENT, `num` int(11) DEFAULT NULL, `name` varchar(100) DEFAULT NULL, PRIMA

2018-01-31 15:09:31 406

原创 mysql与oracle在读取行的不同方式

在看了《mysql技术内幕,innodb存储引擎》的时候,看到描述mysql在找行的方法,一开始书中描述的是mysql通过索引只能定位到块,先将块加载到内存中,然后在块上由于数据是顺序存放的,在使用二分查找的方式去查找具体的行,后面有说索引的页节点中存放了主键和偏移量,有些糊涂了,我猜测还是后面说的对,放便宜量的,这本书中有很多地方让人迷惑,之前看的redo的描述,一会说是逻辑存放一会说是物理存放

2018-01-31 11:57:15 354

原创 django post 403问题

在setting文件中已经去掉了csrf的配置,但是还是遇到了403,参考了下面的文章解决 https://segmentfault.com/a/1190000000764598 主要是用了django的用户验证,用户验证中有调用了csrf

2018-01-30 22:03:26 748

原创 django中使用celery 任务AppRegistryNotReady: Apps aren't loaded yet.

在开发的过程中使用celery的时候遇到了下面的报错: Traceback (most recent call last): File “C:\Python27\lib\site-packages\billiard\process.py”, line 292, in _bootstrap self.run() File “C:\Python27\lib\site-packa

2018-01-29 16:51:51 5634 1

原创 mysql中为什么要使用xa事务

innodb_support_xa: 在XA事务中启用InnoDB支持两阶段提交,导致额外的磁盘刷新事务准备。 XA机制在内部使用,对于其二进制日志处于打开状态且正在接受来自多个线程的数据更改的任何服务器而言,都是必不可少的。如果您禁用了innodb_support_xa,那么事务可以以不同于实时数据库提交的顺序的方式写入二进制日志,当二进制日志在灾难恢复或复制从属环境中重播时,这可能会产生不同

2018-01-27 15:38:21 1284

原创 关于更新丢失的问题的思考

之前在看书的时候,遇到这种更新丢失的讨论,我一直认为在读提交的隔离级别下这是很正常的现象,应该不难理解,这种思考方式是完全的站立在数据库的角度去看的,如果站在业务的角度上去看,这种处理方式就会错了。 比如更新余额,用户要先查余额在跟新,你在查询与更新之间另外的会话去修改了数据,更新可能就会产生错误了。这个情况下业务数据就有问题了。 如何避免更新丢失,for update或乐观锁。

2018-01-25 18:06:12 503

原创 mysql 不同场景下的恢复方式

mysql相对oracle来说,自带的恢复手段较少。下面罗列下不同场景下mysql的恢复的手段: 1删除表 在有备份的情况下,一般都是通过备份+binlog来进行恢复。在没有备份的情况下可以使用undrop工具进行恢复,但是这个工具在使用上有些问题,在drop表后进行表结构的恢复中没有指定端口的参数,只能是默认的3306端口,需要修改源码添加指定端口的参数。在恢复的时候需要扫描磁盘,机器的cp...

2018-01-25 17:20:02 501

原创 shell赋值

今天学到了shell中一个新的赋值的方法#!/bin/sh#author baixiaoyumydb='test'echo $mydbC_PARSER_ARG+=(-p ${mydb}_recovered)C_PARSER_ARG+=(-e \"show variables like "'"%buffer%"'"\")echo ${C_PARSER_ARG[@]}test

2018-01-25 10:39:56 309

原创 写shell需要注意的一点

在shell的开始设置set -euset -uTreat unset variables as an error when performing parameter expansion. If expansion is attempted on an unset variable, the shell prints an error message, and, if not

2018-01-24 14:38:54 360

原创 使用salt来在一个机器上部署多个mysql实例

salt使用参考: 模板的使用:http://blog.csdn.net/death_kada/article/details/48547271 sls文件的使用:http://blog.itpub.net/30129545/viewspace-1458706/ pillar的使用:http://blog.csdn.net/hnhuangyiyang/article/details/5041

2018-01-24 11:57:57 418

原创 salt 配置管理

为了维护配置文件,用salt如下: master端: /srv/salt [root@biee salt]# tree . ├── http.sls ├── servers │ └── httpd.conf └── top.sls[root@biee salt]# more top.sls base: ‘*’: - http [root@biee salt

2018-01-23 20:16:14 418

原创 django render和HttpResponse

今天在返回数据给前端的时候遇到了下面的问题 # return render( # request, 'assets/assets_search.html', # {"user": json.dumps('aa'), #

2018-01-22 17:46:58 6644

原创 mysql性能测试方法主要介绍下tcpcopy

mysql常见性能测试方式: 1 sysbench 这种的方式是能做基准测试,要先生成一些表,针对这些表操作,脚本设计的表都比较简单 2tpcc-mysql 这个会生成一个仓库的oltp系统,然后进行测试,比sysbench生成的表要复杂,也更加符合线上的场景 3tcpcopy 此种方式直接拷贝线上的流量,使用真实的流量在测试库上运行,可以进行性能测试,对比测试和容量规划4jmet

2018-01-22 14:55:52 447

原创 echarts使用来显示监控数据

在做自动化运维平台的时候,有的时候需要在界面上显示一些图表,之前一直没有弄,主要是比较麻烦,今天抽出来时间专门研究了一上午,基本的图形绘制已经可以实现了,主要是测试了下那种x轴是时间轴,y轴是指的情况,对于那些饼图之类的静态图形还是很简单的。花费的时间比较多,主要是开始的思路是错误的,一开始想的是用前端的时间进行显示,这个完全是错误,而且也是不实际的,所有的数据都是从后台取,包括时间,而且x轴的类

2018-01-20 14:33:30 2983 1

原创 js没有函数重载的概念

在谷歌浏览器中的开发者模式下source页签下的snippet新建js文件,可以单独调试js代码。如下: 输出都是baibb,都是使用第二个hello函数,没有根据参数的个数去找对应的函数执行

2018-01-17 15:06:22 365

翻译 使用索引扩展

所谓的索引扩展指的是在二级索引上,innodb内部将主键添加到了二级索引的key上,这样通常会获得很好的性能和查询计划,对于ref,range,index_merge,松散索引扫描,join和排序优化的索引扫描可以使用索引扩展, CREATE TABLE `t1` ( `i1` int(11) NOT NULL DEFAULT '0', `i2` int(11) NOT NULL DE

2018-01-17 10:48:55 378

原创 python2中关于闭包计数器的疑惑

看教程的时候,看到了闭包,教程后面说用闭包实现一直计数器,我尝试了下def createCounter(): num = 100 cnt = [0] i = 0 def counter(): print num cnt[0] = cnt[0] +1 i = i + 1 return i

2018-01-16 10:48:44 668

原创 类的访问限制

ddd.pyclass _D: def __init__(self, name): self._name = name def getname(self): return self._nameccc.py与ddd.py在同一个目录下,引用D会报错,去掉类定义的下划线,正常from ddd import Da = A('baixiaoyu'

2018-01-15 16:47:23 498

原创 python访问不同文件夹下的文件

文件目录组织结构如下: E:. │ ccc.py │ ddd.py │ ddd.pyc │ init.py │ ├─aaa │ test1.py │ test1.pyc │ init.py │ init.pyc │ └─bbb test2.py先看下在ccc中访问aaa目录下的test1文件cc

2018-01-15 16:43:53 2525

原创 oracle11g添加删除字段 ddl_time_out

SQL> set timing on SQL> alter table test add (name varchar(2));Table altered.Elapsed: 00:00:00.08 SQL> alter table test drop column name;Table altered.Elapsed: 00:00:03.42 SQL> insert into

2018-01-15 12:06:46 674

原创 oracle rebuild index online锁情况

在10g中rebuild online执行中或获取2个锁,如果开始的锁没有获得,那么rebuild过程被阻塞,同时别的事务也会被阻塞,11g中有了优化,rebuild被阻塞的时候,别的事务不会受影响。 参考: https://richardfoote.wordpress.com/2008/02/11/index-create-and-rebuild-locking-improvements-i

2018-01-15 11:12:16 736

原创 mysql多行单一字段拼接成一行

有个需求就是讲多个code字段对应的id取出来拼接成一行,作为条件给dml使用,但是在拼接的行比较多的时候出现了拼接的信息不完整的情况。select group_concat(id) from lock_t1 where fund_code='003630.OF' group by fund_code这个是因为group_concat的长度是有限制的,超过了限制,就被截取了,长度的大

2018-01-15 10:31:11 4272

原创 python

virtualenv 这个工具可以隔离不同版本的python环境,在一些服务器上运行不同的python应用或脚本可能需要不同的python版本,那是不是能用这个东西来隔离,待测试。。。

2018-01-13 14:36:24 329

原创 oracle 多表关联更新为什么要加exists

SQL> create table t1(id int,name varchar2(10));Table created.SQL> create table t2(id int,name varchar2(10));Table created.SQL> insert into t1 values(1,'a');1 row created.SQL> insert into t

2018-01-12 18:28:03 1973

原创 mysql死锁查看具体行

有的时候可能是范围操作导致了锁,这个时候我们就需要了解下具体是哪一行导致的,在https://www.percona.com/blog/2014/10/28/how-to-deal-with-mysql-deadlocks/这篇文章中提到了如何查看具体行,但是跟我的测试环境下的匹配不上,文章中说的额0指的是主键指,但是我的环境中0指的是唯一索引的第一个字段。oracle官网中给出了一个查看的方法h

2018-01-12 18:14:12 1165

原创 oracle12c安装记录and sqlalchemy 吐槽

在12.2安装的过程中,在安装类型中有个oracle rac one node的类型,不知道是个什么情况。在安装用户选择上可以选择虚拟用户和windows的现存用户,不知道虚拟用户是个什么情况.sqlalchemy 这个东西我真没看到有哪方面好的,用着也不方便,基本上没啥优势可言,对于那些不太了解数据库的人来说也基本没什么用。搞不懂为啥很多人用。

2018-01-11 19:06:24 330

原创 postgresql锁测试

postgresql的隔离级别是读提交的级别。 show all;postgres=# show transaction_isolation; transaction_isolation ----------------------- read committed(1 row)默认自动提交的,pg的表是堆表,跟oracle相同测试下面的场景 Column |

2018-01-11 13:58:35 373

原创 mysql binlog 保存日志顺序

先测试下mysql的session1:mysql> begin;Query OK, 0 rows affected (0.00 sec)mysql> insert into bai values(1,'a',10);Query OK, 1 row affected (0.00 sec)不提交,开始等待会话2提交mysql> commit;Query OK, 0 rows

2018-01-10 16:31:22 2258

原创 mysql 预热功能

之前没有注意到mysql是自带预热功能的,在oracle数据库重启后的预热都是自己手工脚本做,mysql有参数,可以配置。 innodb_buffer_pool_load_now:通过立即加载一组数据页面来预热缓存池,在基准测试期间将高速缓存池恢复到已知的状态。是在ib_buffer_pool这个文件中加载的 innodb_buffer_pool_dump_now,立即记录缓冲池的状态,通常是

2018-01-08 18:27:08 1357

原创 mysql binlog日志格式log-bin-use-v1-row-events

mysql的binlog的格式在不同的版本下是不一样的,这个参数可以指定版本的格式,这样旧版本的从库可以读取新版本的binlogVersion 2 binary log row events are available beginning with MySQL 5.6.6; however, Version 2 events cannot be read by previous MySQL S

2018-01-08 18:23:33 2403

原创 如何优雅的退出一直循环的python脚本及mysql binlog dump线程问题

在测试BinLogStreamReader的使用过程中,发现脚本在被终止后,mysql上的binlog dump线程一直存在引发出2个问题,1是如何优雅的关闭python脚本,直接使用ctrl+c的方式,控制台出现一堆异常。比较好的方式如下:stream = BinLogStreamReader(connection_settings=MYSQL_SETTINGS,

2018-01-04 11:21:54 1149

原创 mysql分析binlog

在很多情况下我们都有需要分析binlog的需求,对于python来说可以使用https://github.com/noplay/python-mysql-replication 来解析binlog

2018-01-03 17:59:19 478

原创 mysql row binlog内容记录

按下面的顺序执行sqlmysql> create table bai_test(id int, name varchar(10));Query OK, 0 rows affected (0.09 sec)mysql> insert into bai_test values(1,'a');Query OK, 1 row affected (0.02 sec)mysql> insert into b

2018-01-03 17:32:28 495

原创 mongodb二级节点恢复

在一个节点上,发现状态不多,是recovering状态,处理的方式是直接的自动恢复,数据不多,可以直接自动恢复。 关闭二级节点,情况data目录,启动节点,会变成startup2状态,开始同步数据。

2018-01-03 13:54:51 758

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

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

2014-12-20

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

TA关注的人

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