关闭

[置顶] redis crackit 漏洞 过程还原

1.在两台测试机器上分别安装reids,一台作为发起攻击的机器(可以使用本地redis-cli登录远程redis-server),一台作为被攻击的机器(运行有redis-server)。 [root@test-hadoop-s1 ~]# yum install redis -y [root@test-hadoop-s2 ~]# yum install redis -y2.修改test-hadoop...
阅读(3372) 评论(1)

[置顶] MySQL 5.7新特性

新增特性Security improvements. mysql.user表新增plugin列,且若某账户该字段值为空则账户不能使用。从低版本MySQL升级至MySQL5.7时要注意该问题,且建议DBA将使用mysql_old_password插件的账户替换为使用 mysql_native_password插件。数据库管理员可以制定账户密码自动过期策略,密码过期后必须强制进行更改。(http://...
阅读(12914) 评论(0)

[置顶] 一个数据库服务器高iowait的优化案例

一个数据库服务器高iowait的优化案例1.开发反馈某一测试环境sql运行缓慢,而在其他测试环境该sql运行很快。两个环境其配置相同,均只部署了mysql服务器。 2.执行top命令发现sql运行缓慢的机器上磁盘iowait较sql运行较快的机器高出很多。推测这是导致sql运行缓慢的主因,因为该sql是要读取表,表较大,且要扫描的行数较多。 3.到底是什么导致机器iowait高呢,执行iotop...
阅读(2464) 评论(0)

[置顶] MySQL5.6中新增特性、不推荐使用的功能以及废弃的功能

虽然已经使用MySQL5.6版本有一段时间了,但由于没有和之前的版本作过详细比较,所以对于哪些重要的或者不太重要的特性是在新版本中引入的,还有哪些特性已经或者将要从旧版本中移除的并没有一个十分全面的了解。最近有一个将某数据库实例由5.5升级为5.6的需求,所以对于MySQL5.6和5.5版本之间的差异做了一个简单梳理。 新增      Security improvements.  ...
阅读(3659) 评论(0)

[置顶] MySQL中重复索引和重复外键清理

MySQL允许在相同列上创建重复的索引,但这样做对数据库却是有害而无利的,需要定期检查此类重复索引以改善数据库性能。可减少磁盘空间占用、减少磁盘IO、减少优化器优化查询时需要比较的索引个数、减少数据库维护冗余索引的各类开销、提高数据库性能(插入、更新、删除)重复索引检测 pt-duplicate-key-checker:通过SHOW CREATE TABLE输出的表定义检测MySQL表中重复或者冗...
阅读(2816) 评论(0)

[置顶] (六)事务的提交与回滚极死锁检测、处理和预防

事务的提交与回滚极死锁检测、处理和预防 (一)MySQL InnoDB事务模型 (二)MySQL InnoDB锁模型 (三)MySQL InnoDB非锁定一致性读与锁定读 (四)MySQL InnoDB锁类型及幻象读问题 (五)MySQL InnoDB中各类语句加锁方式 (六)事务的提交与回滚极死锁检测、处理和预防 事务的提交与回滚 默认情况下,MySQL开启自动提交,每条语句执行...
阅读(2534) 评论(0)

[置顶] (五)MySQL InnoDB中各类语句加锁方式

MySQL InnoDB中各类语句加锁方式 (一)MySQL InnoDB事务模型 (二)MySQL InnoDB锁模型 (三)MySQL InnoDB非锁定一致性读与锁定读 (四)MySQL InnoDB锁类型及幻象读问题 (五)MySQL InnoDB中各类语句加锁方式 (六)事务的提交与回滚极死锁检测、处理和预防 锁定读、UPDATE、DELETE通常在处理SQL语句的过程中在...
阅读(5589) 评论(2)

[置顶] (四)MySQL InnoDB锁类型及幻象读问题

MySQL InnoDB锁类型及幻象读问题 (一)MySQL InnoDB事务模型 (二)MySQL InnoDB锁模型 (三)MySQL InnoDB非锁定一致性读与锁定读 (四)MySQL InnoDB锁类型及幻象读问题 (五)MySQL InnoDB中各类语句加锁方式 (六)事务的提交与回滚极死锁检测、处理和预防 前边根据InnoDB锁对资源的访问限制对锁进行了归类:X、S、I...
阅读(1288) 评论(0)

[置顶] (三)MySQL InnoDB非锁定一致性读与锁定读

MySQL InnoDB非锁定一致性读与锁定读 (一)MySQL InnoDB事务模型 (二)MySQL InnoDB锁模型 (三)MySQL InnoDB非锁定一致性读与锁定读 (四)MySQL InnoDB锁类型及幻象读问题 (五)MySQL InnoDB中各类语句加锁方式 (六)事务的提交与回滚极死锁检测、处理和预防 非锁定一致性读 一致性读,意味着InnoDB使用“多本版”...
阅读(3291) 评论(3)

[置顶] (二)MySQL InnoDB锁模型

MySQL InnoDB锁模型 (一)MySQL InnoDB事务模型 (二)MySQL InnoDB锁模型 (三)MySQL InnoDB非锁定一致性读与锁定读 (四)MySQL InnoDB锁类型及幻象读问题 (五)MySQL InnoDB中各类语句加锁方式 (六)事务的提交与回滚极死锁检测、处理和预防 前边已经提到过S锁、X锁、行锁等概念。这里详细介绍一下InnoDB中的锁模型...
阅读(1231) 评论(1)

[置顶] (一)MySQL InnoDB事务模型

MySQL InnoDB事务模型 (一)MySQL InnoDB事务模型 (二)MySQL InnoDB锁模型 (三)MySQL InnoDB非锁定一致性读与锁定读 (四)MySQL InnoDB锁类型及幻象读问题 (五)MySQL InnoDB中各类语句加锁方式 (六)事务的提交与回滚极死锁检测、处理和预防 InnoDB四种事务隔离级别 事务的ACID特性:原子性、一致性、隔离性...
阅读(2129) 评论(0)

[置顶] MySQL RESET MASTER与RESET SLAVE

RESET MASTER 删除所有index file 中记录的所有binlog 文件,将日志索引文件清空,创建一个新的日志文件,这个命令通常仅仅用于第一次用于搭建主从关系的时的主库, 注意 reset master 不同于purge binary log的两处地方 1 reset master 将删除日志索引文件中记录的所有binlog文件,创建一个新的日志文件 起始值从000001...
阅读(5306) 评论(0)

[置顶] MySQL使用中的一些方法与技巧

利用MySQL表生成唯一id的方法 表结构:CREATE TABLE `unique_id` ( `id` int(11) NOT NULL DEFAULT 0 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;字段更新与获取:UPDATE unique_id SET id = LAST_INSERT_ID(id + 1); SELECT LAST_INSERT_ID(...
阅读(675) 评论(0)

[置顶] MySQL 表锁以及FLUSH TABLES操作

创建测试表t1, t2use test; CREATE TABLE `t1` ( `i` int(11) NOT NULL DEFAULT '0', PRIMARY KEY (`i`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; CREATE TABLE `t2` ( `i` int(255) NOT NULL, PRIMARY KEY (`i`) )...
阅读(5340) 评论(0)

[置顶] MySQL中general log使用

开启general log会将所有到达MySQL Server的SQL语句记录下来。一般不会开启开功能,因为log的量会非常庞大。但个别情况下可能会临时的开一会儿general log以供排障使用。 相关参数一共有3:general_log、log_output、general_log_file general_log:全局动态变量,默认关闭 log_output :全局动态变量,可取FILE、...
阅读(6539) 评论(1)

[置顶] MySQL中数据库重命名

今天同事让帮忙把线上的数据库重命名。恩?数据库重命名?这种需求的概率小之又小,今天居然还真给碰到了。表重名的话是rename table old_table to new_table; So,库的重命名最简单快捷的办法是 rename old_db to new_db么? 随便建了个测试库test,试着执行了一下臆想的rename命令,好吧,不行。搜了一下文档才发现,原来早期MySQL版本(5.1....
阅读(14463) 评论(0)

[置顶] MySQL UPDATE语句中的一个诡异现象

给你一个很简单的语句,你能一眼看出语句的存在的问题么?表结构如下:CREATE TABLE `test_update` ( `id` int(11) DEFAULT NULL, `name` varchar(10) NOT NULL, `address` varchar(20) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8表中数据如下:mys...
阅读(4382) 评论(3)

[置顶] MySQL中一些查看事务和锁情况的常用语句

一些查看数据库中事务和锁情况的常用语句查看事务等待状况:SELECT r.trx_id waiting_trx_id, r.trx_mysql_thread_id waiting_thread, r.trx_query waiting_query, b.trx_id blocking_trx_id, b.trx_mysql_thread_id blo...
阅读(9314) 评论(0)

[置顶] MySQL NOT EXISTS优化的一个案例

原始语句:SELECT * FROM dcf_account.t_posting_transaction t1 WHERE NOT EXISTS ( SELECT * FROM dcf_loan.t_account_posting_detail t2...
阅读(7296) 评论(1)

[置顶] MySQL DECIMAL数据类型

同事问MySQL数据类型DECIMAL(N,M)中N和M分别表示什么含义,M不用说,显然是小数点后的小数位数,但这个N究竟是小数点之前的最大位数,还是加上小数部分后的最大位数?这个还真记不清了。于是乎,创建测试表验证了一番,结果如下:测试表,seller_cost字段定义为decimal(14,2)CREATE TABLE `test_decimal` ( `id` int(11) NOT NU...
阅读(28194) 评论(0)

[置顶] pt-table-checksum数据一致性校验工具和pt-table-sync数据同步工具解析

1.背景我的MySQL主从数据库运行了很长时间了,我现在不知道主从数据库中的数据是否一致?我该怎么办?该怎么验证主从库中的数据是否一致?如果我明确的知道主从数据库由于某次故障或者误操作已经存在数据不一致,那么我该怎么修复呢?需要使用主库数据重新搭一遍复制么?或者需要重新开始某个库或者表的复制么?相信很多MySQL DBA都提出过这些问题,或者自己动手实现过检测和恢复的功能。实际上大名鼎鼎的Perco...
阅读(2398) 评论(0)

[置顶] ssh无密码登录远程主机执行特定命令的注意事项

最近的一个项目要结合使用rabbitmq、keepalived、supervisor。其中的一个场景为某个keepalived实例被提升为MASTER后需要到部署了rabbitmq client的远程主机上kill掉这些client进程。 一般的思路为配置keepalived所在主机与部署了client的主机之间的无密码ssh登录,然后通过ssh执行远程命令,先获取各client进程的进程号...
阅读(3503) 评论(0)

[置顶] supervisor安装配置与使用

supervisor:C/S架构的进程控制系统,可使用户在类UNIX系统中监控、管理进程。常用于管理与某个用户或项目相关的进程。 组成部分 supervisord:服务守护进程 supervisorctl:命令行客户端 Web Server:提供与supervisorctl功能相当的WEB操作界面 XML-RPC Interface:XML-RPC接口 安装 centos平台下可直接...
阅读(13045) 评论(0)

[置顶] Redis数据过期策略探究

通过EXPIRE key seconds命令来设置数据的过期时间。返回1表明设置成功,返回0表明key不存在或者不能成功设置过期时间。 在key上设置了过期时间后key将在指定的秒数后被自动删除。被指定了过期时间的key在Redis中被称为是不稳定的。 当key被DEL命令删除或者被SET、GETSET命令重置后与之关联的过期时间会被清除。 redis 127.0.0.1:6379> set...
阅读(18404) 评论(1)

[置顶] Redis数据持久化

总的来说有两种持久化方案:RDB和AOF RDB方式按照一定的时间间隔对数据集创建基于时间点的快照。 AOF方式记录Server收到的写操作到日志文件,在Server重启时通过回放这些写操作来重建数据集。该方式类似于MySQL中基于语句格式的binlog。当日志变大时Redis可在后台重写日志。 若仅期望数据在Server运行期间存在则可禁用两种持久化方案。在同一Redis实例中同时开启AO...
阅读(17498) 评论(1)

[置顶] RabbitMQ用户角色及权限控制

####################### #用户角色 ####################### RabbitMQ的用户角色分类: none、management、policymaker、monitoring、administrator RabbitMQ各类角色描述: none 不能访问 management plugin management 用户可以通过...
阅读(54064) 评论(1)

[置顶] redis配置认证密码

redis配置密码 1.通过配置文件进行配置 yum方式安装的redis配置文件通常在/etc/redis.conf中,打开配置文件找到 #requirepass foobared去掉行前的注释,并修改密码为所需的密码,保存文件 requirepass myRedis重启redis sudo service redis restart #或者 sudo service redis s...
阅读(208931) 评论(6)

[置顶] 关于MySQL的SLEEP(N)函数

都知道通过在MySQL中执行select sleep(N)可以让此语句运行N秒钟: mysql> select sleep(1); +----------+ | sleep(1) | +----------+ | 0 | +----------+ 1 row in set (1.00 sec)返回给客户端的执行时间显示出等待了1秒钟 借助于sleep(N)这个函数我们可以在M...
阅读(22015) 评论(0)

[置顶] RabbitMQ的几种应用场景

之前的几篇文章介绍了一下RabbitMQ的概念以及环境的搭建和配置,有了RabbitMQ环境就可以基于其实现一些特殊的任务场景了。RabbitMQ官方有个很好的Tutorials基本覆盖了RabbitMQ的各中常见应用场景,先以代码加注释的方式以其Python客户端pika为例简单介绍如下。更详尽的信息可参阅:http://www.rabbitmq.com/getstarted.html R...
阅读(30460) 评论(1)

[置顶] RabbitMQ概念及环境搭建(五)与web的整合

#################################### rabbitmq_web_stomp #################################### 处于试验阶段,同伙WebSocket兼容层SockJS时 Web Browser与RabbitMQ(rabbitmq-stomp)实时通讯,可用于实时的WEB应用 安装 sudo rabbitmq-plu...
阅读(6740) 评论(3)

[置顶] RabbitMQ概念及环境搭建(四)RabbitMQ High Availability

#################################################### RabbitMQ High Availability #################################################### 1.高可用queue 默认情况下RabbitMQ cluster中的queues位于单独的节点(queues被首次声明的节点)...
阅读(9979) 评论(0)

[置顶] RabbitMQ概念及环境搭建(三)RabbitMQ cluster

测试环境:VMS00781 VMS00782 VMS00386 (centos5.8) 1.先在三台机器上分别安装RabbitMQ Server 2.读取其中一个节点的cookie,并复制到其他节点(节点间通过cookie确定相互是否可通信) 两者之一均可: sudo vim /var/lib/rabbitmq/.erlang.cookie sudo vim $HOME/.erlan...
阅读(22061) 评论(0)

[置顶] RabbitMQ概念及环境搭建(二)RabbitMQ Broker管理

rabbitmqctl [-n node] [-q] {command} [command options...] 1.停Server rabbitmqctl stop 2.查看状态 rabbitmqctl status 其他常用项 sudo rabbitmqctl list_queues sudo rabbitmqctl list_exchanges sudo rabbi...
阅读(4787) 评论(0)

[置顶] RabbitMQ概念及环境搭建(一)单节点安装与配置

############################################### #异步、分布式消息处理模型 ###############################################                                 binding  +-------+   +----------+...
阅读(5633) 评论(0)

[置顶] MySQL DROP TABLE操作以及 DROP 大表时的注意事项

语法: 删表 DROP TABLE Syntax DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name [, tbl_name] ... [RESTRICT | CASCADE] 可一次删除一张或多张表。需具有所删除表上的DROP权限。表定义文件和数据文件均被移除。表被删除后表上的用户权限不会被自动删除。参数里表中指定的表名不存在则报错,但对...
阅读(23748) 评论(0)

[置顶] 如何在开启了log-bin的MySQL Server中创建FUNCTION

在MySQL主从复制机器的master的数据库中创建function,报出如下错误: Error Code: 1418. This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled  (you *might* want to...
阅读(2823) 评论(0)

[置顶] Cassandra研究报告

1基本安装 1.1在基于RHEL的系统中安装Cassandra 1.1.1必要条件 Ø  YUM包管理器 Ø  Root或sudo权限 Ø  JRE6或者JRE7 Ø  JNA(Java native Access)(生产环境需要) 1.1.2步骤 Ø  安装配置JRE(略)   Ø  添加软件包仓库到YUM的软件库 将以下内容添加进/etc/yum.repos.d/dat...
阅读(28647) 评论(5)

[置顶] Linux系统之间拷贝文件的技巧总结

日常工作中需要经常从远程或本地服务器拷贝/移动大量文件。遇到文件比较多比较散的时候速度较慢,所以在想有没有较快的方式。经过搜罗、整理、验证,大概有以下几种。 首先,无论本地还是远程,需要移动或拷贝的文件较多且都不太大时,用cp命令和mv命令效率较低,可以先使用tar工具对将要拷贝/移动的内容进行打包/压缩,之后再进行拷贝/移动,最后再解包/解压缩。 另外,也是很关键的一个技巧,即,不必...
阅读(6327) 评论(0)

[置顶] 使用mysqlbinlog工具进行基于位置或时间点的数据恢复

使用mysqlbinlog工具进行基于位置或时间点的恢复 MySQL备份一般采取全备份加日志备份的方式,比如每天执行一次全备份,每小时执行一次二进制日志备份。这样在MySQL Server故障后可以使用全备份和日志备份将数据恢复到最后一个二进制日志备份前的任意位置或时间。用来进行全备和日志备的工具各种各样,各有其特色,在这里不做描述。本文主要讲解一下在回复完全备份后,如何应用备份的二进制日志...
阅读(22193) 评论(0)

[置顶] MySQL 临时目录

MySQL数据目录/data/mysql所在的上层目录/data磁盘空间不足导致MySQL启动失败,所以清理了/data目录下除了mysql子目录外的其他无用目录。重启发现还是失败。检查错误日志。看到如下错误: /usr/local/mysql/bin/mysqld: Can't create/write to file '/data/tmp/ibbLmEoD' (Errcode: 13 - P...
阅读(6806) 评论(0)

[置顶] Linux 连续执行多条命令

每条命令使用";"隔开,则无论前边的命令执行成功与否都会继续执行下一条命令 这里,故意将第二条命令中的echo多写了一个o,命令执行出错,但并不影响后续命令的执行 可以这么想,如果用分号来间隔命令,就相当于将命令分隔在了不同的行,无论前一行的命令成功或失败,都不影响下一行命令的执行。 $ echo 1; echoo 2; echo 3; echo 4 1 -bash: echoo: co...
阅读(5571) 评论(1)

[置顶] HP Vertica Analytics Platform 评测

1.vertica概念 面向数据分析的数据仓库系统解决方案 2.vertica关键特性 Ø  标准的SQL接口:可以利用已有的BI、ETL、Hadoop/MapReduce和OLTP环境 Ø  高可用:内置的冗余也提升了查询速度 Ø  自动化数据库设计:数据库自动安装、优化、管理 Ø  高级压缩:十多种压缩算法最多可节省90%的空间 Ø  大规模并行处理:运行于低成本的x86型Lin...
阅读(6929) 评论(1)

[置顶] InnoDB: Error: io_setup() failed with EAGAIN after 5 attempts

在一台服务器中以各数据库的备份文件为数据文件启动多个MySQL实例供SQL Review使用。 之前运行一直没有问题(最多的时候有23个MySQL实例同时运行),后来新配置了一台服务器,启动其对应的实例时失败。 部分错误日志如下: …… 140505 16:05:59 InnoDB: Using Linux native AIO 140505 16:05:59  InnoDB: Wa...
阅读(3159) 评论(0)

[置顶] 将逻辑卷降为物理分区

最近测试vertica列式数据仓库的需要,需将原来几台运行MySQL服务的linux服务器中的逻辑卷降为物理分区并重新创建文件系统。 服务器置维护 备份原来的数据 停掉mysql服务 卸载逻辑卷 sudo umount /dev/mapper/VolGroup01-LogVol00 sudo vim /etc/rc.local 注释掉 mount -o noat...
阅读(1464) 评论(0)

[置顶] windows平台是上的sublime编辑远程linux平台上的文件

sublime是个跨平台的强大的代码编辑工具,不多说。 想使用sublime完成linux平台下django站点的代码编辑工作以提高效率(原来使用linux下的vim效率较低,适合编辑一些小脚本)。 下载linux平台下的Sublime_Text_2.0.2_x64.tar.bz2(http://www.sublimetext.com/) 解压使用: tar -xjvf Subli...
阅读(12916) 评论(2)

[置顶] AttributeError: 'module' object has no attribute 'handlers'--Python子模块导入问题

想使用python的logging模块记录日志,并使用RotatingFileHandler来处理日志以便于在日志文件超过指定的大小后会重新生成新的日志文件。 基本代码如下: import logging logger = logging.getLogger('mylogger') logger.setLevel(logging.INFO) fh=logging.handlers.Ro...
阅读(14442) 评论(0)

[置顶] Python logging模块详解

简单将日志打印到屏幕: import logging logging.debug('debug message') logging.info('info message') logging.warning('warning message') logging.error('error message') logging.critical('critical message')输出: WARNI...
阅读(73724) 评论(2)

[置顶] python内置的urllib模块不支持https协议的解决办法

Django站点使用django_cas接入SSO(单点登录系统),配置完成后登录,抛出“urlopen error unknown url type: https”异常。寻根朔源发现是python内置的urllib模块不支持https协议。 >>> import urllib >>> urllib.urlopen('http://www.baidu.com') > >>> url...
阅读(32095) 评论(1)

[置顶] Linux crontab 命令详解

cron是一个linux下的定时执行工具,可以在无需人工干预的情况下运行作业。由于Cron 是Linux的内置服务,但它不自动起来,可以用以下的方法启动、关闭这个服务:  /sbin/service crond start //启动服务  /sbin/service crond stop //关闭服务  /sbin/service crond restart //重启服务  /sb...
阅读(936) 评论(0)

[置顶] Python base64模块详解

Python base64模块是用来作base64编码解码的。 最简单的加解密实例: import base64 str1 = 'djhui' str2 = base64.b64encode(str1) str3 = base64.b64decode(str2) Python base64模块真正用的上的方法只有8个,分别是encode, decode, encodestr...
阅读(18702) 评论(0)

[置顶] python模块及包的导入

一 .module 通常模块为一个文件,直接使用import来导入就好了。可以作为module的文件类型有".py"、".pyo"、".pyc"、".pyd"、".so"、".dll"。 二. package 通常包总是一个目录,可以使用import导入包,或者from + import来导入包中的部分模块。包目录下为首的一个文件便是 __init__.py。然后是一些模块文件和子目...
阅读(51843) 评论(3)

[置顶] 将python源程序编译为pyc或pyo字节码程序

为了提高自己搭建的Django站点的安全性,将加密后的数据库连接信息以及加密使用的信息单独存放在了一个配置文件中,之后写了一个中间层来解密配置文件中的密文并用于站点应用连接数据库。虽然这样一种安全方式很初级,但起码比明文存放密码等敏感信息要好的多。 现在面临另外一个问题,因为最终密文形式的密码还是需要解密后才能使用的,上边提到的用于解密配置文件中的密文的中间层正是用于此目的。若恶意用户获取到...
阅读(8615) 评论(0)

[置顶] python字符串中的单双引

python中字符串可以(且仅可以)使用成对的单引号、双引号、三个双引号(文档字符串)包围: 'this is a book'  "this is a book" """this is a book""" 可在单引号包围的字符串中包含双引号,三引号等,但不能包含单引号自身(需转义) 'this is a" book' 'this is a"" book' 'this is a""...
阅读(16966) 评论(0)

[置顶] Linux系统设置命令别名

最近搞一个Django站点,需要经常进入/var/www/site/mycitsm/这个目录,每次都得重复的输入这一长串路径进入该目录,显得麻烦而费时,有没有一种好的方式可以将“cd /var/www/site/mycitsm”这样一个命令取一个别名,每次只需输入该别名就可以进入该目录呢? 很庆幸,Linux系统提供了一个有用的工具叫alias,可以让我们将一些需要频繁使用的但又过于冗长...
阅读(14826) 评论(0)

[置顶] MySQL 用户执行存储过程的权限

MySQL中以用户执行存储过程的权限为EXECUTE 比如我们在名为configdb的数据库下创建了如下存储过程,存储过程的定义者为user_admin use configdb; drop procedure if exists sp_dev_test_user_add; delimiter $$ CREATE DEFINER=`user_admin`@`%` PROCEDUR...
阅读(36017) 评论(1)

[置顶] URL中特殊符号的转义/400 bad request错误

django+nginx+uwsgi部署的站点访问某个URL时发生了400 bad request的错误,而使用django自带的开发版的web server时没有遇到此问题。初步判断是nginx或uwsgi配置问题。 网上有说是因为request header过大而nginx配置的client_header_buffer_size和large_client_header_buffers过小...
阅读(13602) 评论(2)

[置顶] MySQL 中 localhost 与 127.0.0.1 的区别

MySQL 中localhost与127.0.0.1的区别 localhost与127.0.0.1的区别是什么?相信有人会说是本地ip,曾有人说,用127.0.0.1比localhost好,可以减少一次解析。 看来这个入门问题还有人不清楚,其实这两者是有区别的。 no1: localhost也叫local ,正确的解释是:本地服务器 127.0.0.1在windows等系统的正确解释是:本机...
阅读(2474) 评论(0)

[置顶] nginx:504 Gateway Time out 错误

django+uwsgi+nginx部署的web站点运行时可能产生504 Gateway Time out这样的错误,究其原因是因为相关参数设置的不当。 nginx和uwsgi整合时有三个参数可以用于设置超时时间,在nginx配置文件http->server->location中设置。 uwsgi_connect_timeout:默认60秒,与uwsgi-server连接的超时时间,该...
阅读(7722) 评论(0)

[置顶] MySQLdb捕捉警告信息

使用MySQLdb(MySQL的python连接客户端)时可以通过try...except...捕捉到错误信息,比如: import MySQLdb try: conn = MySQLdb.connect(host=host,port=port,db=dbname,user=user,passwd=pwd) except MySQLdb.Error, e: try:...
阅读(11097) 评论(0)

[置顶] EXPLAIN语句对于MySQLdb捕获异常的影响

想在线检查MySQL SQL语句是否存在错误,但又不想实际的执行SQL语句,自然而然的想到了在SQL语句前添加EXPLAIN关键字,之后再来运行检测。在mysql客户端对于表不存在,关键字错误这样的语法错误以及函数不存在列名不存在这样的语义错误均可以有效报出。然而当使用MySQLdb客户端工具连接MySQL执行加了EXPLAIN关键字的SQL语句后在try...except...语句中只能捕获到语...
阅读(1726) 评论(0)

[置顶] Linux下通过crontab调度脚本时脚本所使用的环境变量问题

通过crontab调度脚本时脚本使用的环境变量与直接在shell中运行脚本时使用的环境变量不同(因为crontab并不知道你所使用的shell,只是简单的设置了HOME、LOGNAME、SHELL和有限的PATH等环境变量),因而可能导致“XXX command not find”的错误或者运行结果不一致的情况。 解决办法有四: 1.在脚本中设置环境变量,如,在cron_job.sh文...
阅读(2062) 评论(0)

[置顶] 探索Django载入模板的顺序

Django默认会在配置文件setting.py的TEMPLATE_LOADERS中开启'django.template.loaders.filesystem.Loader',开启该选项后可以按照TEMPLATE_DIRS中列出的路径的先后顺序从中查找并载入模板。 比如有如下配置: TEMPLATE_LOADERS = (     'django.template.loaders.fil...
阅读(7478) 评论(0)

[置顶] Linux CentOS下Python paramiko模块的安装(个人备忘)

前置条件: python 2.5+ pycrypto 2.1+ 安装readline-devel sudo yum install readline-devel(解决centos下Python2.7交互模式中方向键、退格键乱码问题) 安装zlib-devel sudo yum install zlib-devel(解决paramiko对zlib模块的依赖) 安装pyt...
阅读(11610) 评论(0)

[置顶] Linux(CentOS 5.8)下部署Django-1.5.5遇到的一些问题

安装Python(Python-2.7.5) shell>tar xzvf Python-2.7.5.tgz shell>cd Python-2.7.5 shell>./configure shell>make shell>sudo make install 安装Django-1.5.5 shell>tar xzvf Django-1.5.5.tar.gz shell>cd Dja...
阅读(5661) 评论(0)

[置顶] Percona Toolkit for MySQL安装(CentOS5.8)

下载percona-toolkit-2.2.5-2.noarch.rpm  安装percona-toolkit-2.2.5-2.noarch.rpm sudo rpm -i percona-toolkit-2.2.5-2.noarch.rpmerror: Failed dependencies: perl(DBI) >= 1.13 is needed by percona-toolkit-2...
阅读(4979) 评论(0)

[置顶] MySQL LOCK TABLES 与UNLOCK TABLES

1语法 LOCK TABLES tbl_name[[AS] alias] lock_type [, tbl_name [[AS] alias] lock_type] ... lock_type:READ[LOCAL]| [LOW_PRIORITY] WRITE UNLOCK TABLES 2简单使用 一个session只能为自己获取锁和释放锁,不能为其他session获取锁,也不能释放由...
阅读(12704) 评论(1)

[置顶] sysbench安装(CentOS5.8\MySQL5.6\sysbench-0.4.12)

Ø  下载安装包sysbench-0.4.12.tar.gz Ø  解压并进入目录 tar xzvf sysbench-0.4.12.tar.gz cd sysbench-0.4.12 Ø  执行./configure Invalid configuration `x86_64-unknown-linux-':machine `x86_64-unknown-linux' not reco...
阅读(4957) 评论(1)

[置顶] MySQL复制原理与配置

1复制配置 1.1如何搭建复制 1.1.1master配置 开启二进制日志并创建唯一的Server ID:在my.cnf文件的[mysqld]节加入相应配置信息并重启Server使其生效。 [mysqld] log-bin=mysql-bin server-id=1 注意事项 复制组中每台Server的server-id必须唯一以便于识别不同的Server。server-id范围为...
阅读(7889) 评论(0)

[置顶] linux下文件的创建时间、访问时间、修改时间和改变时间

确切的说不存在创建时间。若文件从创建后不曾修改过则可认为创建时间=修改时间,若文件创建后状态也不曾改变过则可认为创建时间=改变时间,若文件创建后不曾被读取过则可认为创建时间=访问时间。但是,但是,上述情况基本上是不可能的,也就是说几乎不可能获取到文件的创建时间。   可以通过stat命令查看文件的状态 可以看到该文件的访问时间、修改时间、改变时间均为13:36:55。此处这一时间也是...
阅读(68545) 评论(9)

[置顶] 结合mysqlbinlog与mysqldump进行MySQL数据备份与恢复(适用于较小的数据量)

通过mysqlbinlog工具备份二进制日志文件 mysqlbinlog  --read-from-remote-server --host=192.168.83.37 --port=55944 --user=us_yanzhaozhang --password --raw --to-last-log VMS00782-bin.000001mysqlbinlog  --read-from...
阅读(5481) 评论(1)

[置顶] CentOS 5.8(x86_64)中,Python-2.7.5交互模式下方向键、退格键等出现乱码。

*************************************************************** CentOS 5.8(x86_64)下,Python2.7.5交互模式出现乱码 *************************************************************** 升级CentOS中的Python到2.7.5版本后发现Py...
阅读(6638) 评论(2)

[置顶] Centos5.8(64位)装Python2.7.5执行./configure时报错,configure: error: no acceptable C compiler found in $PATH

********************************************************** Centos5.8(64位)下安装Python-2.7.5 执行./configure时报错: configure: error: no acceptable C compiler found in $PATH *******************************...
阅读(12773) 评论(0)

[置顶] SQL UNION与UNION ALL操作符

SQL UNION 操作符 UNION 操作符用于合并两个或多个 SELECT 语句的结果集。 请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。 SQL UNION 语法 SELECT column_name(s) FROM table_name1 UNION SELECT colu...
阅读(1256) 评论(0)

[置顶] MySQL中Global、Session和Both(Global & Session)范围的Dynamic及Not Dynamic类型的变量的作用范围和设置方法

1. Global & Dynamic example:slow_query_log Ø  显示该变量的值: 当前设置为OFF   Ø  在一个session中设置该Global &Dynamic类型的变量: 可以看到,对于global类型的变量必需通过global关键字来设置其值。   Ø  在同一个session中重新查看该变量的值: 发现该变...
阅读(6224) 评论(1)

[置顶] MySQL中REPLACE INTO语句的用法

在向表中插入数据时,我们经常会遇到这样的情况:1、首先判断数据是否存在;2、如果不存在,则插入;3、如果存在,则更新。 那么 MySQL 中有无一种简单的办法在一条语句中实现这样的逻辑?对了,那就是使用replace into。 replace into t(id, update_time) values(1, now()) 或者 replace into t(...
阅读(2680) 评论(0)

[置顶] mysqldump命令详解

1.简介 mysqldump为MySQL逻辑备份工具,产生一系列SQL语句,之后重新执行以产生备份的库、表及数据。也可产生CSV、XML等格式的数据。适用于各类引擎的表。 运行mysqldump需一定的权限。如,备份表的最低权限为select,备份视图需show view权限,备份触发器需trigger权限。mysqldump的输出可能包含alter database语句,如,用于保持备份库的...
阅读(26576) 评论(1)

[置顶] MySQL5.6 InnoDB FULLTEXTIndexes研究测试

1.概要 InnoDB引擎对FULLTEXT索引的支持是MySQL5.6新引入的特性,之前只有MyISAM引擎支持FULLTEXT索引。对于FULLTEXT索引的内容可以使用MATCH()…AGAINST语法进行查询。 为了在InnoDB驱动的表中使用FULLTEXT索引MySQL5.6引入了一些新的配置选项和INFORMATION_SCHEMA表。比如,为了监视一个FULLTEXT索引中文本...
阅读(35144) 评论(1)

[置顶] 创建LVM报错:Can't initialize physical volume "/dev/cciss/c0d1p1" of volume group"VolGroup01" without -ff

1.问题描述 在一台Linux服务器(CentOS5.8)中物理磁盘/dev/cciss/c0d1上创建LVM时 依次执行 sudo fdisk -l sudo fdisk /dev/cciss/c0d1 p n p 1 w 后执行sudo pvcreate /dev/cciss/c0d1p1 报错错:Can't initialize physical volume "/...
阅读(5899) 评论(0)

[置顶] MySQL创建索引抛出“required more than 'innodb_online_alter_log_max_size' bytes of modification log”异常的解决方案

1.问题描述 为两台机器上MySQL Server中zabbix2数据库history_unit表创建idx_clock(clock)索引时出现异常。 执行的SQL语句如下: alter table history_uint add index idx_clock (clock); 抛出的错误信息如下: ERROR 1799 (HY000): Creating index 'idx_cl...
阅读(3157) 评论(0)

[置顶] 图解linux vim命令

看待一张很好的图解vim命令的图片,转给大家!...
阅读(2208) 评论(0)

[置顶] LVM详细操作说明

一、需求: 1、添加一个20G硬盘,并初始分区为如下: /mysql 6G /appstore 6G /infoware 8G 2、全部使用LVM分区,并测试调整分区,比如将/mysql 扩大成8G, (1)测试从相邻的/appstore中分割,(2)从/infoware中分割 注意:从后面的操作中可以看得到,最好不要缩小空间,否则可能会导致数据损坏,宁愿增加硬盘,本文作为测试,有详...
阅读(2038) 评论(0)

[置顶] 两主机搭建MySQL主从复制后,show slave status显示:Last_IO_Error: error connecting to master ……

两台主机A、B搭建mysql主从复制关系(A为master,B为slave)后,在slave上执行show slave status,结果中显示Last_IO_Error: error connecting to master 'usvr_replication@VMS00782:55944'…… 查看错误日志文件 先在A上确认复制用户账户是否存在且是否赋了正确的权限 mysql> mysq...
阅读(46418) 评论(0)

[置顶] 安装MySQL5.6新建用户并创建密码时总是提示密码不符合要求:ERROR 1819 (HY000): Your password does NOT satisfy the CURRENT ……

安装MySQL5.6新建用户并创建密码时总是提示密码不符合要求:ERROR 1819 (HY000): Your password does NOT satisfy the CURRENT policy requirements。 查看得知,原来MySQL5.6.6增加了密码强度验证插件validate_password,相关参数设置的较为严格,所以…… 使用了该插件会检查设置的密码是...
阅读(37467) 评论(0)

mysql_config_editor/login-path使用

login-path是MySQL5.6开始支持的新特性。通过借助mysql_config_editor工具将登陆MySQL服务的认证信息加密保存在.mylogin.cnf文件(默认位于用户主目录) 。之后,MySQL客户端工具可通过读取该加密文件连接MySQL,避免重复输入登录信息,避免敏感信息暴露。 mysql_config_editor使用帮助: 配置: mysql_co...
阅读(2265) 评论(0)

Ansible简易使用

ansible是实现的基于ssh的自动化运维工具(管理节点需要与被管理节点SSH可通,无论是密码验证还是key验证等均可),相对于slat、putty之类传统的IT自动化工具来讲优势在于无需在每台要管理的机器上部署客户端,使用起来简易、灵活,不仅支持ad-hoc命令同时还支持play book。 一些简单的批量作业通过andible来执行,非常方便。当然,负责的批零作业对于ansible...
阅读(1307) 评论(0)

MySQL数据类型char与varchar中数字代表的究竟是字节数还是字符数?

实例是最好的说明,所以,废话少说,看表看例子~mysql> show create table test_varchar_utf8\G *************************** 1. row *************************** Table: test_varchar_utf8 Create Table: CREATE TABLE `test_varch...
阅读(9481) 评论(2)

MySQL Forcing InnoDB Recovery

Forcing InnoDB Recovery MySQL非正常重启或者磁盘故障可能导致MySQL数据文件损坏。这种情况下,如果没有可用的备份文件则可使用innodb_force_recovery选项强制InnoDB引擎启动。这时一些后台操作不会运行,可以较为安全的dump出数据库中的表。 innodb_force_recovery选项可选的值为0-6,默认也即正常情况下值为0,在发生...
阅读(1532) 评论(0)

MySQL中select filed from table where field in (....)语句的排序问题

select filed from table where field in (....)语句的排序问题 执行语句发现返回的结果并非按照in列表中的顺序排序,具体可见如下示例: 示例表: mysql> show create table test_select_in\G *************************** 1. row *********************...
阅读(1608) 评论(0)

MySQL SQL优化案例:相关子查询(dependent subquery)优化

原始语句: SELECT t1.* FROM t_payment_bank_account_info t1 WHERE EXISTS ( SELECT 1 FROM t_payment_account_dtl t2 WHERE t1.account_no = t2.account_no AND t2.parent_a...
阅读(4736) 评论(1)

MySQL SQL优化案例:LIMIT M,N大偏移量分页

原查询语句: SELECT loan_document_id, contract_id, applicant_contract_id, buyer_id, buyer_name, seller_id, seller_name, loan_document_no, loan_document_type, order_content, amount, ...
阅读(3312) 评论(0)

MySQL SQL 优化案例:JOIN派生表

优化之前: SELECT   ap.institution_id,   date(ra.create_time) date,   sum(     IF (       ra.confirm_amount > ld.debit_amount,       ld.debit_amount,       ra.confirm_amount     )   ) return_...
阅读(1841) 评论(0)

MySQL数据库中的大小写敏感性

MySQL中数据库与数据目录内的数据库目录相对应,每个表对应所在的数据库对应的目录下边的一系列文件,触发器也与特定的文件关联。因此,底层操作系统对大小写的敏感性与在其上运行的数据库的大小写敏感性息息相关。这也意味着,库名、表明、触发器名在Windows系统下大小写不敏感而在多数类Unix系统下大小写敏感,一个例外是OS X系统下(默认使用HFS+文件系统)大小写不敏感。然而,OS X还支持UFS文件...
阅读(1300) 评论(0)

MySQL中部分系统变量介绍

对比了一下不同环境下两台MySQL服务器的运行参数配置,除了文件名、路径等内容的差异外,还存在其他一些不同。借此机会简单罗列其中一部分并加以说明 ~ have_symlink                             DISABLED                                   YES 用以支持在表定义中指定数据目录和索引目录(全局静态系统变量) ...
阅读(1433) 评论(0)

MySQL中表创建失败的原因之一

报错信息: ERROR 1005 (HY000): Can't create table 'example_db.example_table' (errno: 150) 故事背景: 从生产环境example_db数据库往测试环境对应的库导入恢复数据。因为前一天使用mysqldump工具对生产环境整个实例中所有数据库做过一次备份,考虑到再做一次针对example_db库的备份比较耗时,于是...
阅读(3601) 评论(0)

InnoDB Monitor

InnoDB Monitor 类型 有四类InnoDB monitor:Standard Monitor、Lock Monitor、Tablespace Monitor、Table Monitor。其中Tablespace Monitor和Table Monitor将在后续版本(MySQL5.7中移除,对应的信息可从information_schema的表中获取) Standard...
阅读(3066) 评论(0)
138条 共7页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:2612063次
    • 积分:10987
    • 等级:
    • 排名:第1597名
    • 原创:79篇
    • 转载:29篇
    • 译文:30篇
    • 评论:184条
    文章分类
    最新评论