自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(137)
  • 资源 (2)
  • 收藏
  • 关注

原创 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

2016-04-19 18:17:07 7316 1

翻译 MySQL 5.7新特性

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

2015-11-25 15:42:34 17922

原创 一个数据库服务器高iowait的优化案例

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

2015-11-25 15:18:21 6673

翻译 MySQL5.6中新增特性、不推荐使用的功能以及废弃的功能

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

2015-11-16 13:57:58 7968

原创 MySQL中重复索引和重复外键清理

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

2015-10-27 17:36:20 4853

翻译 (六)事务的提交与回滚极死锁检测、处理和预防

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

2015-10-27 17:20:55 7418

翻译 (五)MySQL InnoDB中各类语句加锁方式

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

2015-10-27 17:19:49 11731 3

翻译 (四)MySQL InnoDB锁类型及幻象读问题

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

2015-10-27 17:18:35 1951

原创 (三)MySQL InnoDB非锁定一致性读与锁定读

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

2015-10-27 17:17:05 8712 3

原创 (二)MySQL InnoDB锁模型

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

2015-10-27 17:00:24 1919 1

原创 (一)MySQL InnoDB事务模型

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

2015-10-27 16:58:14 3878

转载 MySQL RESET MASTER与RESET SLAVE

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

2015-10-22 17:24:47 12604

翻译 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(

2015-10-22 17:19:21 927

原创 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`))

2015-10-22 17:11:15 13908

原创 MySQL中general log使用

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

2015-10-22 17:03:11 15822 1

原创 MySQL中数据库重命名

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

2015-10-22 17:00:46 70309

原创 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

2015-10-22 16:57:02 13150 5

原创 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

2015-10-22 16:53:12 19255

原创 MySQL NOT EXISTS优化的一个案例

原始语句:SELECT *FROM dcf_account.t_posting_transaction t1WHERE NOT EXISTS ( SELECT * FROM dcf_loan.t_account_posting_detail t2

2015-10-22 16:48:27 20890 10

原创 MySQL DECIMAL数据类型

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

2015-10-22 16:43:57 59679 1

原创 pt-table-checksum数据一致性校验工具和pt-table-sync数据同步工具解析

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

2015-10-22 09:58:48 4700

原创 ssh无密码登录远程主机执行特定命令的注意事项

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

2015-02-27 16:19:00 4884

原创 supervisor安装配置与使用

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

2015-02-27 15:05:48 24119

翻译 Redis数据过期策略探究

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

2015-01-06 16:54:07 21527

翻译 Redis数据持久化

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

2015-01-05 14:58:25 23164 1

原创 RabbitMQ用户角色及权限控制

########################用户角色#######################RabbitMQ的用户角色分类:none、management、policymaker、monitoring、administratorRabbitMQ各类角色描述:none不能访问 management pluginmanagement用户可以通过

2014-12-31 11:16:21 136408 2

原创 redis配置认证密码

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

2014-12-30 16:47:14 361544 14

原创 关于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

2014-12-29 17:58:52 66250

翻译 RabbitMQ的几种应用场景

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

2014-12-15 19:14:56 52168 2

翻译 RabbitMQ概念及环境搭建(五)与web的整合

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

2014-12-12 17:33:01 10114 3

翻译 RabbitMQ概念及环境搭建(四)RabbitMQ High Availability

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

2014-12-12 17:30:51 16402

翻译 RabbitMQ概念及环境搭建(三)RabbitMQ cluster

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

2014-12-12 17:24:47 38944

翻译 RabbitMQ概念及环境搭建(二)RabbitMQ Broker管理

rabbitmqctl [-n node] [-q] {command} [command options...]1.停Serverrabbitmqctl stop2.查看状态rabbitmqctl status其他常用项sudo rabbitmqctl list_queuessudo rabbitmqctl list_exchangessudo rabbi

2014-12-12 17:20:18 7064

翻译 RabbitMQ概念及环境搭建(一)单节点安装与配置

################################################异步、分布式消息处理模型###############################################                                binding  +-------+   +----------+

2014-12-12 17:04:44 7607

原创 MySQL DROP TABLE操作以及 DROP 大表时的注意事项

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

2014-10-28 14:07:08 52196

原创 如何在开启了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

2014-09-19 17:22:41 3177

翻译 Cassandra研究报告

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

2014-08-19 16:23:35 34436 6

翻译 Linux系统之间拷贝文件的技巧总结

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

2014-08-19 13:27:42 8269

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

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

2014-07-24 17:45:25 30636 1

原创 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

2014-07-24 14:48:53 13496

Discuz论坛源码(utf8编码)

北京康盛公司开发的经典社区论坛源码!已经上传了一个gbk编码的源码,再上传一个utf8编码的源码,希望大家能够喜欢!

2010-10-24

Discuz论坛源码

北京康盛公司用PHP开发的一个社区论坛,非常经典!

2010-10-24

空空如也

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

TA关注的人

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