自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(62)
  • 收藏
  • 关注

原创 用innobackupex恢复备份数据库

[quote]tar ixvf database_sns_201110290358.tar.gz -C database_sns_201110290358[/quote][quote][root@test3 byread]# PATH=$PATH:/byread/bin/mysql/bin[/quote][quote][root@test3 byread]# /byread/bin...

2011-11-29 13:35:23 177

原创 数据库备份故障总结

讲述一下此次故障的整个过程:硬件出现故障,文件系统出错,修复文件系统后发现数据库丢失文件。此时脑海里第一个办法就是用当天备份进行恢复,可是发现备份的数据文件也早已出错,无法解压了。这时就只能用光盘进救援模式,把故障服务器上的数据库数据目录拷出来。发现救援模式USB移动硬盘发现不了,重启救援模式,这次选择启动网络,通过网络拷出数据。把数据库拷到另一台服务器上启动,状况是:数据库不断崩溃重启,报t...

2011-11-29 11:44:21 361

原创 Bind关闭递归查询

观察DNS查询日志发现一个非本地提供服务的ZONE查询,开始采取iptables禁止掉此IP,第二天又有另一IP对此ZONE查询,看来得从根本上解决这个问题。我的bind起初设置[quote]allow-recursion { any; };[/quote]允许递归查询更改配置方法一:在options中设置[quote]recursion ...

2011-10-28 09:57:37 485

原创 MySQL status查看工具mysqlreport

[quote]mysqlreport makes a friendly report of important MySQL status values. mysqlreport transforms the values from SHOW STATUS into an easy-to-read report that provides an in-depth understanding of h...

2011-10-20 09:58:37 118

原创 Squid因为文件句柄用完不响应

今天发现服务器流量突然降下来了,查看服务器发现squid建立了大量连接。查看squid的cache日志,发现以下信息[quote]2011/10/19 09:34:13| client_side.cc(2980) okToAccept: WARNING! Your cache is running out of filedescriptors[/quote]解决方法:squid各个...

2011-10-19 16:33:51 256

原创 文件系统崩溃处理

数据库服务器报出以下信息,文件系统变成只读,通知机房重启后,系统无法正常启动。跑到机房处理发现,提示手工进行文件系统检查,输入root密码,出现repair filesystem命令行,执行fsck命令,出现错误修复提示,直接输入Y,修复完成后reboot。启动后系统恢复正常。[quote]mptbase: ioc0: LogInfo(0x3101000c): Originator={PL...

2011-10-19 15:52:58 645

原创 MySQL从库无法读取主库position

因为主库文件系统出错,恢复后导致从库无法同步,出现以下信息show slave status;client requested master to start replication from impossible position在网上寻找解决方法,有人是将positon向前移(较小positon),有人是向后移,我查看主库binlog文件和大小,并选择了向前移。...

2011-10-19 15:40:11 464

原创 Nginx module of URL authorization

根据业务需要,对用户请求的进行认证,Nginx根据URL中的ID取出memcached的值,并与URL中的authkey对比认证。需要用到第三方库libmemcached。在config中增加:[code="java"]CORE_LIBS="$CORE_LIBS -L/byread/bin/libmemcached/lib -lmemcached"[/code]具体实现:...

2011-08-12 16:00:47 110

原创 Nginx add custom header

公司客户端需要读取HEADER中的length字段,length字段的值与Content-Length值一样。以前是通过在apache中写一个perl模块实现的,现在切换为Nginx,需要开发Nginx模块。用C写Nginx模块还是比较简单的,可以通过Header Filter实现这个功能。就是在响应数据准备好以后,发送给客户端之前,增加我们的功能。首先config文件对filter模块和...

2011-04-18 13:25:43 144

原创 bind dlz mysql的配置

[code="java"][/code]部分配置配置文件name.conf[code="java"]logging { channel query_log { file "/byread/logs/bind/query.log" versions 3 size 20m; severity...

2011-03-21 16:35:27 218

原创 智能DNS解析搭建成功

经过不断发现问题,解决问题的几天,终于生产环境稳定使用了。bind-dlz + mysql + mycdn页面管理。[img]http://dl.iteye.com/upload/attachment/440370/039fc4c7-8b8c-3967-99bd-69b2ec16493e.jpg[/img]...

2011-03-18 17:17:17 202

原创 C避免僵死进程

今天尝试用C写了一个socket程序,将单位的IP地址发布到外网去,程序很简单。其中使用了fork处理请求,但发现子进程结束后都处于僵死状态。查找了一下资料,因为父进程没有对子进程进行处理。[quote]默认情况下,父进程必须给子进程收尸,否则父进程不死,则死了的子进程将长期为僵尸。被收养的进程是孤儿进程,也就是原本那个父进程死掉了只有父进程退出了init才会收养这个父进程的所...

2011-01-06 11:59:16 139

原创 Nginx中gzip和Content-Length

今天客户端发现下载文件进度条无法显示,开发人员是根据Content-Length来获取文件大小的。我们有两台服务器对外提供文件下载,其中一台是正常的。比较写的nginx模块这一部分程序完全一致,仔细检查包头信息,发现两个包头中不一致的部分:[quote]HTTP/1.1 200 OKServer: nginx/0.7.65Date: Tue, 16 Nov 2010 03:...

2010-11-16 11:51:30 1650

原创 Memcached最大连接数

Memcached默认最大同时连接数为1024,当连接数超过此数值后会无法连接。启动时加上参数-c 4096,可以改变此默认值。

2010-11-12 10:19:14 1708

原创 MySQL主从同步状态

因为mysql的slave报错,导致slave落后master很远。找资料查看同步状态。[quote]mysql> show slave status\G*************************** 1. row *************************** Slave_IO_State: Waiting for master to ...

2010-10-19 14:22:47 227

原创 MySQL Innodb存储引擎因为缓存配置出现的错误

[quote]100920 10:50:21 mysqld_safe Starting mysqld daemon with databases from /byread/dataInnoDB: The InnoDB memory heap is disabledInnoDB: Mutexes and rw_locks use GCC atomic builtinsInnoDB: ...

2010-09-20 10:51:56 183

原创 Nginx的status信息

[quote]Active connections: 145 server accepts handled requests 36380 36380 38382 Reading: 6 Writing: 5 Waiting: 134 [/quote][quote]active connections -- number of all open connections ...

2010-08-12 14:15:57 119

原创 MongoDB的基本操作

Mongodb启动:nohup /byread/bin/mongodb/bin/mongod --dbpath=/byread/mongodb 2>&1 >> /byread/logs/mongodb/mongodb.log &关闭:db.shutdownServer()kill -2 PIDkill -15 PID创建索引db.things.ensureIndex...

2010-08-06 09:55:31 85

原创 Nginx的sendfile报无效参数分析

今天观察Nginx的错误日志,发现有一些客户端下载文件时,报下列错误。[quote]2010/07/17 09:26:53 [alert] 505#0: *764839 sendfile() failed (22: Invalid argument),[/quote]为了查出原因,在服务器上对此请求的IP进行抓包分析,发现原来是HTTP包头中的Range字段有问题。请求包头...

2010-07-17 09:45:08 1408

原创 HTTP包头中关于断点续传的字段定义

[quote]The Content-Range entity-header is sent with a partial entity-body to specify where in the full entity-body the partial body should be applied. [/quote]HTTP 回应Content-Range用于指出在整个数据文件中发送部...

2010-07-15 20:03:40 191

Nginx的perl模块支持续传功能

Nginx的perl模块中的sendfile支持续传功能。1、获取客户端请求的偏移位置。[code="java"] $range = $r->header_in("Range"); $start = 0; if( $range =~ /bytes=(\d+)-/ ) { $start = $1; }[/code]2、获取文件大小并返回正...

2010-07-15 14:12:07 109

原创 Nginx的perl模块开发

因为公司业务需要记录每一个用户某一个类型的文件最后一次请求,提供继续阅读功能,所以在Nginx里加了一个小模块,当有用户请求进来时,响应数据并在Memcached和Mongodb记录此URL。配置Nginx[quote] perl_modules perl/lib; perl_require bookvisit.pm;[/quote][quote]location ...

2010-06-13 10:36:47 113

原创 MySQL Innodb的死锁问题

今天遇到了数据库的死锁问题,导致应用无法提供服务。当时只好重启tomcat,现在还是会不断的提示死锁,只是服务还能跑。[quote]100528 14:16:03*** (1) TRANSACTION:TRANSACTION 1 720592357, ACTIVE 0 sec, process no 3588, OS thread id 1337043264 inserting...

2010-05-28 14:30:35 166

原创 MySQL清除二进制日志

MySQL的二进制日志文件很大,运行时间长了会占用很大的磁盘空间。MySQL提供了自动删除二进制日志文件的功能,但默认是不打开的。可以通过参数expire_logs_days来进行设置。你也可以通过命令来清除指定日期或文件名之前的日志。[code="java"]purge binary logs before '2010-05-10 00:00:00';[/code]在网上看到有人...

2010-05-21 10:03:22 228

原创 MySQL从库同步出现键冲突的错误

今天做主从读写分离时,发现MySQL从库出现键冲突,同步停止工作。看到网上[url]http://www.pinoytux.com/linux/tip-mysql-replication-error-duplicate-entry-for-key[/url]这篇章说可能是因为主库表为MyISAM时,会出现这样的问题,我的主库表就是MyISAM,准备工作正常后,将从库做主库。临时的解决方...

2010-05-20 20:54:29 118

原创 迁移数据库时因Innodb的日志文件大小配置不同导致的问题

今天迁移了一个数据库,出现以下报错:[quote]InnoDB: Error: log file ./ib_logfile0 is of different size 0 268435456 bytesInnoDB: than specified in the .cnf file 0 5242880 bytes!100519 14:57:57 [ERROR] Plugin 'Inn...

2010-05-19 15:32:57 398

原创 记录一次用innobackupex恢复Slave的过程

上次说MySQL出现问题后,slave也不能同步了,具体报错信息如下:[quote]100313 10:59:23 [ERROR] Slave I/O thread: Failed reading log event, reconnecting to retry, log 'masterlog.000194' position 963415201[/quote]我们的Slave...

2010-05-18 10:01:01 150

原创 新版本Mysql恢复老版本mysql数据权限表的问题

新版本对权限控制有一些变动,当我使用innobackupex恢复数据后,查看Mysql的错误日志发现以下错误:[quote]100517 9:59:14 [ERROR] Can't open and lock privilege tables: Table 'mysql.servers' doesn't exist100517 9:59:14 [ERROR] Column coun...

2010-05-17 13:38:16 323

原创 记录一次MySQL故障处理

因为开发之初数据库没有进行好的设计,有很多表的查询字段没有创建索引,系统运行几年以后,表的记录数达到了几千万,这时性能问题突显出来。诱因是在系统繁忙的时间,突发来了很多无索引的查询,导致一个关键的表被锁。这时候系统无法对外提供服务。采取措施:在mysql中kill所有的慢查询语句。但还是不停的有查询进来,停止应用,iptables封掉数据库端口,再kill。这时出现了奇...

2010-05-13 14:16:01 129

原创 MySQL Master Slave因字符集不同导致的报错

今天做主从同步里,执行slave start报了以下错误。[quote]Fatal error: The slave I/O thread stops because master and slave have different values for the COLLATION_SERVER global variable. The values must be equal for th...

2010-05-13 13:49:24 92

原创 JVM的MaxPermSize参数设置

在JVM中除了有年轻代、年老代外,还一个持久代,主要用来存放类对象的meta-data,PermGen和你设置的Xmx无关,而是通过MaxPermSize设置。如果你的应用程序代码量很大会很快出现OutOfMemoryError。[quote]The permanent generation is special because it holds meta-data describing ...

2010-05-13 10:56:33 4442

原创 DNS不通时squid不启动的问题

以前直接用squid命令进行启动,但这次发现squid命令执行以后,不监听端口,没有任何反应。没有报错提示信息,比较奇怪,后来发现我的公网不通。公网通了以后,启动一切正常。查看squid进程,发现一些dns进程,[code="java"]root 3665 0.0 0.0 53868 2360 ? Ss May07 0:00 /byread/bin/...

2010-05-08 11:39:49 227

原创 nginx proxy tomcat时报包头长度过大错误

在tomcat前加了一个nginx,做动静分离,分别到tomcat和squid,发现nginx不停的报以下错误。[code="java"]upstream sent too big header while reading response header from upstream[/code]在网上查找资料,原因是后端回应的数据包的包头长度超过了nginx默认的长度4K or 8...

2010-05-08 11:20:46 272

新版本mysql的慢查询日志配置项将更改

在进行mysql数据库初始化时会一些警告信息,大概意思是:MySQL 7.0版本将弃用log_slow_queries,如下:[code="java"]100504 13:47:02 [Warning] The syntax '--log_slow_queries' is deprecated and will be removed in MySQL 7.0. Please use '--...

2010-05-04 14:32:45 183

Tomcat线程池设置

The Executor represents a thread pool that can be shared between components in Tomcat. Historically there has been a thread pool per connector created but this allows you to share a thread pool, betwe...

2010-05-02 11:44:41 147

innobackupex-1.5.1备份数据库时MySQL server has gone away的解决办法

在用innobackupex备份数据库是出现以下报错信息时,主要是因为mysql主动断开了空闲连接,可以修改innobackupex文件,连接时临时增加空闲等待时间。[code="java"]xtrabackup: Transaction log of lsn (73 943434069) to (73 953657096) was copied.Pipe to mysql child...

2010-05-01 11:24:55 87

tomcat数据库连接池问题

在mysql的设置中有两个选项,主动断开空闲连接的等待时间。wait_timeoutThe number of seconds the server waits for activity on a noninteractive connection before closing it. This timeout applies only to TCP/IP and Unix socket ...

2010-04-28 15:25:07 101

Apache根据文件名设置访问规则

Apache对外的目录下存放程序保存的文件,但是有些文件不允许用户访问。Deny from all不允许访问以.txt结尾的文件。

2010-04-27 13:56:48 168

XtraDB内部原理

XtraDB的内部原理,原文链接:http://www.percona.com/docs/wiki/percona-xtradb:internals:start。可以从中得到一些关键参数的优化。

2010-04-27 10:09:57 87

nginx日志中的http代码

今天在tomcat前面加了一个nginx做动静分离,静态文件由squid来提供服务。查看nginx日志发现一些状态代码499,相关说明在网上搜索到这个链接:http://www.blogkid.net/archives/2582.html。...

2010-04-26 10:49:33 64

空空如也

空空如也

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

TA关注的人

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