- 浏览: 154885 次
- 性别:
- 来自: 南京
最新评论
-
di1984HIT:
不错啊,哈哈。
Memcached最大连接数 -
di1984HIT:
写的不错啊。
vsftp的时区问题 -
langren:
能分享一下这个问题是怎么解决的吗?
MySQL Innodb存储引擎因为缓存配置出现的错误 -
wangzheguilai:
哥们,您太强大了,百度了好久之后才看到你的这个,终于我把问题给 ...
迁移数据库时因Innodb的日志文件大小配置不同导致的问题 -
dailingang:
我的遇到的情况是 在firefox下测试正常,在ie6下怎么都 ...
Nginx的perl模块开发
文章列表
用innobackupex恢复备份数据库
- 博客分类:
- mysql
引用tar ixvf database_sns_201110290358.tar.gz -C database_sns_201110290358
引用[root@test3 byread]# PATH=$PATH:/byread/bin/mysql/bin
引用
[root@test3 byread]# /byread/bin/mysql/bin/innobackupex-1.5.1 --defaults-file=/byread/bin/mysql/etc/my.cnf --apply-log --user=root --password=password /byread/backup/dat ...
讲述一下此次故障的整个过程:
硬件出现故障,文件系统出错,修复文件系统后发现数据库丢失文件。此时脑海里第一个办法就是用当天备份进行恢复,可是发现备份的数据文件也早已出错,无法解压了。这时就只能用光盘进救援模式,把故障服务器上的数据库数据目录拷出来。发现救援模式USB移动硬盘发现不了,重启救援模式,这次选择启动网络,通过网络拷出数据。把数据库拷到另一台服务器上启动,状况是:数据库不断崩溃重启,报tablespace中某个表的不存在。查看资料使用innodb_force_recovery=4启动数据库,进行check table,仍然无效。这时只有一个办法了,就是把有效数据使用mysqldump导出 ...
Bind关闭递归查询
- 博客分类:
- linux
观察DNS查询日志发现一个非本地提供服务的ZONE查询,开始采取iptables禁止掉此IP,第二天又有另一IP对此ZONE查询,看来得从根本上解决这个问题。
我的bind起初设置
引用allow-recursion { any; };允许递归查询
更改配置
方法一:
在options中设置
引用recursion yes;
在view中设置
引用allow-recursion { none; };
方法二:
在options中设置
引用recursion no;
这时Bind变成迭代查询,返回根DNS ...
引用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 how well MySQL is running. mysqlreport is a better alternative (and practically the only alternative) to ma ...
今天发现服务器流量突然降下来了,查看服务器发现squid建立了大量连接。查看squid的cache日志,发现以下信息
引用2011/10/19 09:34:13| client_side.cc(2980) okToAccept: WARNING! Your cache is running out of filedescriptors
解决方法:
squid各个版本有差异,squid/3.1.3 不支持配置文件中添加配置项:max_filedesc或max_filedescriptors,需要在编译时添加参数。
squid 3.1.3:
引用 --with-filedescriptors ...
数据库服务器报出以下信息,文件系统变成只读,通知机房重启后,系统无法正常启动。跑到机房处理发现,提示手工进行文件系统检查,输入root密码,出现repair filesystem命令行,执行fsck命令,出现错误修复提示,直接输入Y,修复完成后reboot。启动后系统恢复正常。
引用
mptbase: ioc0: LogInfo(0x3101000c): Originator={PL}, Code={Open Failure}, SubCode(0x000c)
sd 0:1:0:0: SCSI error: return code = 0x00010000
end_request: I/O er ...
MySQL从库无法读取主库position
- 博客分类:
- mysql
因为主库文件系统出错,恢复后导致从库无法同步,出现以下信息
show slave status;
client requested master to start replication from impossible position
在网上寻找解决方法,有人是将positon向前移(较小positon),有人是向后移,我查看主库binlog文件和大小,并选择了向前移。
导致问题的原因大致是,Mysql主库崩溃,丢失缓存数据没有写进binlog,从库需要同步时,无法从主库读取对应数据。
防止问题发生的方法:
set global sync_binlog=1;
and
Add t ...
根据业务需要,对用户请求的进行认证,Nginx根据URL中的ID取出memcached的值,并与URL中的authkey对比认证。需要用到第三方库libmemcached。
在config中增加:
CORE_LIBS="$CORE_LIBS -L/byread/bin/libmemcached/lib -lmemcached"
具体实现:
#include <libmemcached/memcached.h>
static ngx_int_t
ngx_http_sukai_authorize_handler(ngx_http_reque ...
公司客户端需要读取HEADER中的length字段,length字段的值与Content-Length值一样。以前是通过在apache中写一个perl模块实现的,现在切换为Nginx,需要开发Nginx模块。用C写Nginx模块还是比较简单的,可以通过Header Filter实现这个功能。就是在响应数据准备好以后,发送给客户端之前,增加我们的功能。
首先config文件对filter模块和其它处理模块配置不一样:
引用
"config" for filter modules:
ngx_addon_name=ngx_http_<your module>_mo ...
部分配置
配置文件name.conf
logging {
channel query_log {
file "/byread/logs/bind/query.log" versions 3 size 20m;
severity info;
print-time yes;
print-category yes;
};
...
经过不断发现问题,解决问题的几天,终于生产环境稳定使用了。
bind-dlz + mysql + mycdn页面管理。
公司路由器坏了,几十号人不能上网,立即找了一台机器装了一块网卡搭建路由。最后遇到一个问题,公司的VPN外面连不进,公司人员连接外部VPN也连接不上。最后找到这篇文章解决了问题:
http://www.hammx.com/wordpress/?p=137
#!/bin/sh
iptables="/sbin/iptables"
modprobe="/sbin/modprobe"
depmod="/sbin/depmod"
EXTIF="eth1"
INTIF="eth2"
...
今天尝试用C写了一个socket程序,将单位的IP地址发布到外网去,程序很简单。其中使用了fork处理请求,但发现子进程结束后都处于僵死状态。查找了一下资料,因为父进程没有对子进程进行处理。
引用
默认情况下,父进程必须给子进程收尸,否则父进程不死,则死了的子进程将长期为僵尸。
被收养的进程是孤儿进程,也就是原本那个父进程死掉了
只有父进程退出了init才会收养这个父进程的所有子进程。父进程不退出,init闲着没事干去为人家的子女收尸啊。
init只收养孤儿进程,并定期对孤儿收尸。
处理方法有两种:
引用
fork一个子进程出来,然后父进程就会waitpid,以便释放子进程的资源,防止产 ...
今天客户端发现下载文件进度条无法显示,开发人员是根据Content-Length来获取文件大小的。我们有两台服务器对外提供文件下载,其中一台是正常的。比较写的nginx模块这一部分程序完全一致,仔细检查包头信息,发现两个包头中不一致的部分:
引用
HTTP/1.1 200 OK
Server: nginx/0.7.65
Date: Tue, 16 Nov 2010 03:39:28 GMT
Content-Type: text/plain
Connection: keep-alive
Content-Length: 333570
Length: 333570
Content-Range: b ...
Memcached默认最大同时连接数为1024,当连接数超过此数值后会无法连接。启动时加上参数-c 4096,可以改变此默认值。