<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[小雨的博客]]></title> 
<link>http://blog.gsywx.com/index.php</link> 
<description><![CDATA[小雨的博客]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[小雨的博客]]></copyright>
<item>
<link>http://blog.gsywx.com/read.php/86.htm</link>
<title><![CDATA[vsftpd通过DB验证虚拟用户配置2用户安装脚本]]></title> 
<author>xiaoyuwxz &lt;wxz@gsywx.com&gt;</author>
<category><![CDATA[原创]]></category>
<pubDate>Sat, 17 Jul 2010 02:37:19 +0000</pubDate> 
<guid>http://blog.gsywx.com/read.php/86.htm</guid> 
<description>
<![CDATA[ 
	<br/>脚本仅作参考,具体为什么,请参考vsftpd配置文件,转载请注明地址,谢谢<br/>附件此脚本服务控制脚本.<br/><a href="attachment.php?fid=41">点击这里下载文件</a><br/><br/><br/>#!/bin/bash<br/>clear<br/>echo "----------------源码安装vsftpd安装程序，按任意键继续----------------"&nbsp;&nbsp;<br/>get_char()<br/>&nbsp;&nbsp;&#123;<br/>&nbsp;&nbsp;SAVEDSTTY=`stty -g`<br/>&nbsp;&nbsp;stty -echo<br/>&nbsp;&nbsp;stty cbreak<br/>&nbsp;&nbsp;dd if=/dev/tty bs=1 count=1 2> /dev/null<br/>&nbsp;&nbsp;stty -raw<br/>&nbsp;&nbsp;stty echo<br/>&nbsp;&nbsp;stty $SAVEDSTTY<br/>&nbsp;&nbsp;&#125;<br/>&nbsp;&nbsp;echo ""<br/>&nbsp;&nbsp;echo "本安装为配置tom和jack两虚拟用户登录各自的目录，请按任意键继续......"<br/>&nbsp;&nbsp;char=`get_char`<br/><br/>tar zxvf vsftpd-2.2.2.tar.gz<br/>cd vsftpd-2.2.2<br/>make<br/>make install<br/>cp vsftpd.conf /etc/<br/>touch /etc/vsftpd.chroot_list<br/>touch /etc/ftpusers<br/>cp RedHat/vsftpd.pam /etc/pam.d/vsftpd<br/>cp ../vsftpd /etc/rc.d/init.d/<br/>chmod 755 /etc/rc.d/init.d/vsftpd<br/>chkconfig --add vsftpd<br/>chkconfig&nbsp;&nbsp;vsftpd on<br/><br/>sed -i 's#anonymous_enable=YES#anonymous_enable=NO#'&nbsp;&nbsp;/etc/vsftpd.conf<br/>sed -i 's&#92;#local_enable=YES&#92;local_enable=YES&#92;g'&nbsp;&nbsp;/etc/vsftpd.conf<br/>sed -i 's&#92;#write_enable=YES&#92;write_enable=YES&#92;g'&nbsp;&nbsp;/etc/vsftpd.conf<br/>sed -i 's&#92;#local_umask=022&#92;local_umask=022&#92;g'&nbsp;&nbsp;/etc/vsftpd.conf<br/>sed -i 's&#92;#ftpd_banner=Welcome to blah FTP service.&#92;ftpd_banner=Welcome to xiaoyuwxzs FTP service.&#92;g' /etc/vsftpd.conf<br/>sed -i 's&#92;dirmessage_enable=YES&#92;#dirmessage_enable=YES&#92;g' /etc/vsftpd.conf<br/>sed -i 's&#92;xferlog_enable=YES&#92;#xferlog_enable=YES&#92;g' /etc/vsftpd.conf<br/>sed -i 's&#92;connect_from_port_20=YES&#92;#connect_from_port_20=YES&#92;g' /etc/vsftpd.conf<br/>echo "pam_service_name=vsftpd" >>/etc/vsftpd.conf<br/>echo "chroot_local_user=YES" >>/etc/vsftpd.conf<br/>echo "guest_enable=YES " >>/etc/vsftpd.conf<br/>echo "guest_username=virtualuser" >>/etc/vsftpd.conf<br/>echo "virtual_use_local_privs=YES" >>/etc/vsftpd.conf<br/>echo "user_config_dir=/etc/vftp" >>/etc/vsftpd.conf<br/><br/>#修改pam认证文件<br/>sed -i 's&#92;auth&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; required&nbsp;&nbsp;&nbsp;&nbsp; /lib/security/pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed&#92;#auth&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; required&nbsp;&nbsp;&nbsp;&nbsp; /lib/security/pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed&#92;g' /etc/pam.d/vsftpd<br/>sed -i 's&#92;auth&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; required&nbsp;&nbsp;&nbsp;&nbsp; /lib/security/pam_unix.so shadow nullok&#92;#auth&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; required&nbsp;&nbsp;&nbsp;&nbsp; /lib/security/pam_unix.so shadow nullok&#92;g' /etc/pam.d/vsftpd<br/>sed -i 's&#92;auth&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; required&nbsp;&nbsp;&nbsp;&nbsp; /lib/security/pam_shells.so&#92;#auth&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; required&nbsp;&nbsp;&nbsp;&nbsp; /lib/security/pam_shells.so&#92;g' /etc/pam.d/vsftpd<br/>sed -i 's&#92;account&nbsp;&nbsp;&nbsp;&nbsp;required&nbsp;&nbsp;&nbsp;&nbsp; /lib/security/pam_unix.so&#92;#account&nbsp;&nbsp;&nbsp;&nbsp;required&nbsp;&nbsp;&nbsp;&nbsp; /lib/security/pam_unix.so&#92;g' /etc/pam.d/vsftpd<br/>sed -i 's&#92;session&nbsp;&nbsp;&nbsp;&nbsp;required&nbsp;&nbsp;&nbsp;&nbsp; /lib/security/pam_unix.so&#92;#session&nbsp;&nbsp;&nbsp;&nbsp;required&nbsp;&nbsp;&nbsp;&nbsp; /lib/security/pam_unix.so&#92;g' /etc/pam.d/vsftpd<br/>echo "auth required /lib/security/pam_userdb.so db=/etc/vsftpd_login" >>/etc/pam.d/vsftpd<br/>echo "account required /lib/security/pam_userdb.so db=/etc/vsftpd_login" >>/etc/pam.d/vsftpd<br/><br/>useradd virtualuser -d /home/virtualuser -s /sbin/nologin<br/>rpm -ivh db4*<br/>touch /login.txt<br/>echo "tom" >>/login.txt<br/>echo "123456" >>/login.txt<br/>echo "jack" >>/login.txt<br/>echo "654321" >>/login.txt<br/>db_load -T -t hash -f /login.txt /etc/vsftpd_login.db<br/>chmod 600 /etc/vsftpd_lofgin.db<br/>mkdir /etc/vftp<br/>touch /etc/vftp/tom<br/>echo "local_root=/home/tom" >>/etc/vftp/tom<br/>touch /etc/vftp/jack<br/>echo "local_root=/home/jack" >>/etc/vftp/jack<br/>mkdir /home/tom<br/>mkdir /home/jack<br/>chown virtualuser.virtualuser /home/tom<br/>chown virtualuser.virtualuser /home/jack<br/>chmod 700 /home/tom<br/>chmod 700 /home/jack<br/><br/>service vsftpd start<br/><br/>sleep 1<br/>echo "删除安装临时文件.............."<br/>rm -Rf vsftpd-2.2.2<br/>echo <br/>echo<br/>echo " ------------------- 如需增加新用户，请使用以下命令 -------------------"<br/>echo "&#124;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; echo "用户名" >>/login.txt&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#124;"<br/>echo "&#124;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; echo "密码" >>/login.txt&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#124;"<br/>echo "&#124;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db_load -T -t hash -f /login.txt /etc/vsftpd_login.db&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#124;"<br/>echo "&#124;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; touch /etc/vftp/用户名&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#124;"<br/>echo "&#124;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mkdir /home/用户名&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#124;"<br/>echo "&#124;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; chown virtualuser.virtualuser /home/用户名&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#124;"<br/>echo "&#124;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; chmod 700 /home/用户名&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#124;"<br/>echo "&#124;&nbsp;&nbsp;&nbsp;&nbsp; echo "local_root=/home/用户名" >>/etc/vftp/jack/用户名&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#124;"<br/>echo "&#124;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;service vsftpd start&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#124;"<br/>echo "&#124;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 如需禁用用户，增加用户名到 /etc/ftpusers&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#124;"<br/>echo " -------------------------- vsftpd 安装结束! --------------------------"<br/>sleep 1<br/>Tags - <a href="http://blog.gsywx.com/go.php/tags/vsftpd/" rel="tag">vsftpd</a> , <a href="http://blog.gsywx.com/go.php/tags/vsftpd%25E8%2584%259A%25E6%259C%25AC/" rel="tag">vsftpd脚本</a> , <a href="http://blog.gsywx.com/go.php/tags/linux/" rel="tag">linux</a>
]]>
</description>
</item><item>
<link>http://blog.gsywx.com/read.php/85.htm</link>
<title><![CDATA[vsftpd安装脚本方法二(yum安装) ]]></title> 
<author>xiaoyuwxz &lt;wxz@gsywx.com&gt;</author>
<category><![CDATA[原创]]></category>
<pubDate>Sat, 17 Jul 2010 02:26:58 +0000</pubDate> 
<guid>http://blog.gsywx.com/read.php/85.htm</guid> 
<description>
<![CDATA[ 
	较前一vsftpd安装脚本(yum安装)&nbsp;&nbsp;改了本地用户验证方式,添加用户时不用再向chroot文件添加用户名<br/><br/>具体脚本如下:<br/><br/>#!/bin/bash<br/><br/>echo "--------------------------------vsftpd 自动安装脚本--------------------------------"<br/>yum -y install vsftpd<br/>sed -i 's#anonymous_enable=YES#anonymous_enable=NO#'&nbsp;&nbsp;/etc/vsftpd/vsftpd.conf<br/>sed -i 's&#92;#ftpd_banner=Welcome to blah FTP service.&#92;ftpd_banner=Welcome to my vsftpd FTP service.&#92;g' /etc/vsftpd/vsftpd.conf<br/>echo "chroot_local_user=YES" >>/etc/vsftpd/vsftpd.conf<br/>mkdir -p /wwwroot/htdocs<br/>groupadd www<br/>useradd www -g www -d /wwwroot/htdocs -s /sbin/nologin<br/>passwd www<br/>chown www.www /wwwroot/htdocs<br/>chkconfig vsftpd on<br/>service vsftpd start<br/>echo "--------------------------------vsftpd 安装说明------------------------------------"<br/>echo "&#124;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#124;"<br/>echo "&#124;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 用户为 www 密码为刚才所设 FTP根目录为/wwwroot/htdocs&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#124;"<br/>echo "&#124; 新增用户样例为(新增用户ktm):useradd ktm -g www -d /wwwroot/ktm -s /sbin/nologin&nbsp;&nbsp;&#124;"<br/>echo "&#124;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;service vsftpd restart&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#124;"<br/>echo "&#124;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#124;"<br/>echo "--------------------------------vsftpd 安装结束!-----------------------------------"<br/>sleep 2<br/>Tags - <a href="http://blog.gsywx.com/go.php/tags/linux/" rel="tag">linux</a> , <a href="http://blog.gsywx.com/go.php/tags/vsftpd/" rel="tag">vsftpd</a> , <a href="http://blog.gsywx.com/go.php/tags/vsftpd%25E5%25AE%2589%25E8%25A3%2585%25E8%2584%259A%25E6%259C%25AC/" rel="tag">vsftpd安装脚本</a>
]]>
</description>
</item><item>
<link>http://blog.gsywx.com/read.php/84.htm</link>
<title><![CDATA[MySQL数据库主从配置中需要注意的问题:]]></title> 
<author>xiaoyuwxz &lt;wxz@gsywx.com&gt;</author>
<category><![CDATA[转载]]></category>
<pubDate>Fri, 16 Jul 2010 04:39:28 +0000</pubDate> 
<guid>http://blog.gsywx.com/read.php/84.htm</guid> 
<description>
<![CDATA[ 
	MySQL主从数据库配置注意问题:<br/><br/>&nbsp;&nbsp; 一般使用MySQL的时候，如果数据量不大，我们都使用一台MySQL服务器，备份的时候使用mysqldump工具就可以了，但是随着业务不断发展，问题出现了：&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 首先：数据量往往直线上升，单独一台数据库服务器开始出现性能的瓶颈，数据访问越来越慢。 <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 其次：备份也变得困难了，因为mysqldump是导出一份文本文件，而数据量特别大的时候，这样的备份往往需要很长时间，可能有人会说，我们可以直接通过拷贝数据文件来备份数据库，这样很方便，快捷，不错，这样是比mysqldump方便快捷，但是，直接拷贝数据文件备份的方式要求我们必须先关闭mysql服务，然后再拷贝数据文件，否则，你拷贝的文件很可能是坏的。而实际运行的mysql服务往往要求在任何时候都不可以停止服务，所以这样的备份方式在此情况下不可行。 <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 如果你遇到了类似上面的问题，你就可以使用建立MySQL主从服务器的方式来解决，下面先来看看主从服务器的设置： <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 前提：MySQL主从服务器最好使用相同的软件版本，以避免不不可预期的故障。 <br/>首先设置MySQL主服务器： <br/>在主服务器上为从服务器建立一个用户任意主机用户： <br/>grant replication slave on *.* to '用户名'@'主机' identified by '密码'; <br/>也可以使用phpmyadmin来管理建立用户和数据库<br/>编辑主服务器的配置文件：/etc/my.cnf的mysqld处<br/><br/>server-id = 1 <br/>log-bin <br/>binlog-do-db=需要备份的数据库名，如果备份多个数据库，重复设置这个选项即可 <br/>binlog-ignore-db=不需要备份的数据库苦命，如果备份多个数据库，重复设置这个选项即可 <br/>编辑从服务器的配置文件：/etc/my.cnf <br/>server-id=2 <br/>master-host=主机 <br/>master-user=用户名 <br/>master-password=密码 <br/>master-port=端口 <br/>replicate-do-db=需要备份的数据库名，如果备份多个数据库，重复设置这个选项即可 <br/>记得先手动同步一下主从服务器中要备份的数据库，然后重启主，从服务器。 <br/>要验证主从设置是否已经成功，可以登录从服务器输入如下命令： <br/>mysql> show slave status&#92;G <br/>会得到类似下面的列表： <br/>Slave_IO_Running: Yes <br/>Slave_SQL_Running: Yes <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 如果这两个选项不全是Yes，那就说明你前面某个步骤配置错了。 <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;如果你的设置是正确的，尝试在主服务器上插入若干条记录，然后你再转到从服务器，会发现相应的新记录已经自动同步过来了。 <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 如果你的主从服务器已经配置好了，那么你在应用程序中，只要保证所有的insert/delete/update操作是在主服务器上进行的，那么相应的数据变化会自动同步到从服务器上，这样，我们就可以把select操作分担到多台从数据库上，从而降低服务器的载荷。 <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 如果你想使用复制数据文件的方式来备份数据库，只要在从服务器上的mysql命令行先键入slave stop;然后复制数据库文件，复制好了，再 在mysql命令行键入slave start;启动从服务器，这样就即备份了数据有保证了数据完整性，而且整个过程中主服务器的mysql无需停止。 <br/>----------------------------------------------------------------------------------- <br/>提示：如果修改了主服务器的配置，记得删除从服务器上的master.info文件。否则从服务器使用的还是老配置，可能会导致错误。 <br/>----------------------------------------------------------------------------------- <br/>注意：关于要复制多个数据库时，binlog-do-db和replicate-do-db选项的设置，网上很多人说是用半角逗号分隔，经过测试，这样的说法是错误的，MySQL官方文档也明确指出，如果要备份多个数据库，只要重复设置相应选项就可以了。 <br/>比如： <br/>binlog-do-db=a <br/>binlog-do-db=b <br/>replicate-do-db=a <br/>replicate-do-db=b <br/>----------------------------------------------------------------------------------- <br/>补充：从服务器上my.cnf中的master-*的设置仅在第一次生效，后保存在master.info文件里。 <br/>----------------------------------------------------------------------------------- <br/>在从服务器上使用show slave status <br/>Slave_IO_Running,为No,则说明IO_THREAD没有启动，请执行slave start [IO_THREAD] <br/>Slave_SQL_Running为No则复制出错,查看Last_error字段排除错误后执行slave start [SQL_THREAD] <br/>查看Slave_IO_State字段 <br/>空 //复制没有启动 <br/>Connecting to master//没有连接上master <br/>Waiting for master to send event//已经连上 <br/>----------------------------------------------------------------------------------- <br/>可以使用LOAD DATA FROM MASTER语句来建立slave。但有约束条件： <br/>数据表要全部是MyISAM表，必须有SUPER权限，master的复制用户必须具备RELOAD和SUPER权限。 <br/>在master端执行RESET MASTER清除已有的日志变更， <br/>此时slave端会因为找不到master日志无法启动IO_THREAD，请清空data目录下 <br/>relay-log.info,hosname-relay-bin*等文件重新启动mysql <br/>中继日志文件默认的文件为hostname-relay-bin.nnn和hostname-relay-bin.index。可用从服务器的-- <br/>relay-log和--relay-log-index选项修改。在从服务器中还有一个relay-log.info中继信息文件，可用 <br/>--relay-log-info-file启动选项修改文件名。 <br/>双机互备则是两个mysql同时配置为master及slave <br/>----------------------------------------------------------------------------------- <br/>主服务器上的相关命令：&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>show master status <br/>show slave hosts <br/>show &#123;master&#124;binary&#125; logs <br/>show binlog events <br/>purge &#123;master&#124;binary&#125; logs to 'log_name' <br/>purge &#123;master&#124;binary&#125; logs before 'date' <br/>reset master(老版本flush master) <br/>set sql_log_bin=&#123;0&#124;1&#125; <br/>----------------------------------------------------------------------------------- <br/>从服务器上的相关命令: <br/>slave start <br/>slave stop <br/>SLAVE STOP IO_THREAD //此线程把master段的日志写到本地 <br/>SLAVE start IO_THREAD <br/>SLAVE STOP SQL_THREAD //此线程把写到本地的日志应用于数据库 <br/>SLAVE start SQL_THREAD <br/>reset slave <br/>SET GLOBAL SQL_SLAVE_SKIP_COUNTER <br/>load data from master <br/>show slave status(SUPER,REPLICATION CLIENT) <br/>CHANGE MASTER TO MASTER_HOST=, MASTER_PORT=,MASTER_USER=, MASTER_PASSWORD= //动态改变master信息 <br/>PURGE MASTER [before 'date'] 删除master端已同步过的日志 <br/>----------------------------------------------------------------------------------- <br/>--read-only <br/>该选项让从服务器只允许来自从服务器线程或具有SUPER权限的用户的更新。可以确保从服务器不接受来自客户的更新。<br/><br/>Tags - <a href="http://blog.gsywx.com/go.php/tags/mysql/" rel="tag">mysql</a> , <a href="http://blog.gsywx.com/go.php/tags/mysql%25E4%25B8%25BB%25E4%25BB%258E%25E9%2585%258D%25E7%25BD%25AE/" rel="tag">mysql主从配置</a>
]]>
</description>
</item><item>
<link>http://blog.gsywx.com/read.php/83.htm</link>
<title><![CDATA[MySQL同步故障： Slave_SQL_Running:No 两种解决办法]]></title> 
<author>xiaoyuwxz &lt;wxz@gsywx.com&gt;</author>
<category><![CDATA[转载]]></category>
<pubDate>Fri, 16 Jul 2010 04:35:52 +0000</pubDate> 
<guid>http://blog.gsywx.com/read.php/83.htm</guid> 
<description>
<![CDATA[ 
	在配置mysql主从同步的时候遇到了查看从服务器状态显示为:<br/>Slave_SQL_Running:No<br/><br/>搜索通过以下第一种方法解决.主服务器已有数据,而从服务器因为当时配置的数据库版本不一致导致没法同步,后安装同一数据库版本后,运行状态为Slave_SQL_Running:No<br/><br/>以下为转贴:<br/><br/>故障状态:<br/>进入slave服务器，运行：<br/><br/>mysql> show slave status&#92;G<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .......<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Relay_Log_File: localhost-relay-bin.000535<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Relay_Log_Pos: 21795072<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Relay_Master_Log_File: localhost-bin.000094<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Slave_IO_Running: Yes<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Slave_SQL_Running: No<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Replicate_Do_DB: <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Replicate_Ignore_DB: <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;......<br/><br/>解决办法一、<br/><br/>Slave_SQL_Running: No<br/>1.程序可能在slave上进行了写操作<br/><br/>2.也可能是slave机器重起后，事务回滚造成的.<br/><br/>一般是事务回滚造成的：<br/>解决办法：<br/>mysql> slave stop;<br/>mysql> set GLOBAL SQL_SLAVE_SKIP_COUNTER=1;<br/>mysql> slave start;<br/><br/> <br/><br/>解决办法二、<br/><br/>首先停掉Slave服务：slave stop<br/>到主服务器上查看主机状态：<br/>记录File和Position对应的值<br/><br/>进入master<br/><br/>mysql> show master status;<br/>+----------------------+----------+--------------+------------------+<br/>&#124; File&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#124; Position &#124; Binlog_Do_DB &#124; Binlog_Ignore_DB &#124;<br/>+----------------------+----------+--------------+------------------+<br/>&#124; localhost-bin.000094 &#124; 33622483 &#124;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#124;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#124; <br/>+----------------------+----------+--------------+------------------+<br/>1 row in set (0.00 sec)<br/><br/> <br/><br/>然后到slave服务器上执行手动同步：<br/><br/>mysql> change master to <br/>> master_host='master_ip',<br/>> master_user='user', <br/>> master_password='pwd', <br/>> master_port=3306, <br/>> master_log_file=localhost-bin.000094', <br/>> master_log_pos=33622483 ;<br/>1 row in set (0.00 sec)<br/>mysql> slave start;<br/>1 row in set (0.00 sec)<br/><br/> <br/><br/>mysql> show slave status&#92;G<br/>*************************** 1. row ***************************<br/>........<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Master_Log_File: localhost-bin.000094<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Read_Master_Log_Pos: 33768775<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Relay_Log_File: localhost-relay-bin.000537<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Relay_Log_Pos: 1094034<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Relay_Master_Log_File: localhost-bin.000094<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Slave_IO_Running: Yes<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Slave_SQL_Running: Yes<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Replicate_Do_DB: <br/><br/>手动同步需要停止master的写操作！ <br/>Tags - <a href="http://blog.gsywx.com/go.php/tags/mysql/" rel="tag">mysql</a> , <a href="http://blog.gsywx.com/go.php/tags/mysql%25E4%25B8%25BB%25E4%25BB%258E%25E9%2585%258D%25E7%25BD%25AE/" rel="tag">mysql主从配置</a> , <a href="http://blog.gsywx.com/go.php/tags/mysql%25E4%25B8%25BB%25E4%25BB%258E%25E5%2587%25BA%25E9%2594%2599/" rel="tag">mysql主从出错</a>
]]>
</description>
</item><item>
<link>http://blog.gsywx.com/read.php/82.htm</link>
<title><![CDATA[mysql主从同步配置(笔记)]]></title> 
<author>xiaoyuwxz &lt;wxz@gsywx.com&gt;</author>
<category><![CDATA[原创]]></category>
<pubDate>Fri, 16 Jul 2010 04:31:56 +0000</pubDate> 
<guid>http://blog.gsywx.com/read.php/82.htm</guid> 
<description>
<![CDATA[ 
	特别说明:<br/>配置mysql主从备份一定要使用相同版本的数据库,如不可以使用5.0和5.1的交杂.<br/><br/>1.主机 <br/>建任意主机用户,并赋于对指定数据库的相应权限,并开放3306端口的外网访问(防火墙),如添加的用户为admin,创建的数据库为test,如以下主机为linux<br/>vi /etc/my.cnf<br/>在[mysqld]段添加:<br/>server-id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = 1<br/>log-bin<br/>重启mysql<br/>查看状态:<br/>mysql -u root -p<br/>输入密码后,<br/> show master status;<br/>看到如下:<br/>+-------------------+----------+--------------+------------------+<br/>&#124; File&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#124; Position &#124; Binlog_Do_DB &#124; Binlog_Ignore_DB &#124;<br/>+-------------------+----------+--------------+------------------+<br/>&#124; centos-bin.000001 &#124;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;106 &#124;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#124;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#124;<br/>+-------------------+----------+--------------+------------------+<br/>1 row in set (0.00 sec)<br/><br/>从服务器连接测试<br/>比如主服务器IP为192.168.0.2<br/>mysql -h 192.168.0.2 -u admin -p<br/>能正常登录为成功<br/><br/><br/>2.从服务器my.ini(如主机为win)<br/>[mysqld]段添加:<br/>server-id=2<br/>master-host=192.168.0.2<br/>master-port=3306<br/>master-user=admin<br/>master-password=123456<br/>master-connect-retry=60<br/>replicate-do-db=test<br/><br/>检查状态:<br/>mysql -u root -p<br/>show slave status&#92;G;<br/><br/>看到<br/>Slave_IO_Running:Yes<br/>Slave_SQL_running:Yes<br/>说明是成功的<br/><br/>这时候,可以在主机上安装程序,如安装Disucz,只要主机上的数据库发生了改变,都会自动备份到从服务器的数据库里<br/><br/>相关命令:<br/>Slave start<br/>Slave stop<br/>Reset slave<br/>Show slave status<br/>Show master status<br/>主服务器命令需登录主机执行,从命令登录从服务器运行,当然,在从服务器运行主机的mysql也可以,正如:<br/>mysql -h 192.168.0.2 -u admin -p<br/>Tags - <a href="http://blog.gsywx.com/go.php/tags/linux/" rel="tag">linux</a> , <a href="http://blog.gsywx.com/go.php/tags/mysql/" rel="tag">mysql</a> , <a href="http://blog.gsywx.com/go.php/tags/mysql%25E4%25B8%25BB%25E4%25BB%258E/" rel="tag">mysql主从</a> , <a href="http://blog.gsywx.com/go.php/tags/mysql%25E4%25B8%25BB%25E4%25BB%258E%25E9%2585%258D%25E7%25BD%25AE/" rel="tag">mysql主从配置</a>
]]>
</description>
</item><item>
<link>http://blog.gsywx.com/read.php/81.htm</link>
<title><![CDATA[win2008中的iis7下的几种aps+php环境配置方法]]></title> 
<author>xiaoyuwxz &lt;wxz@gsywx.com&gt;</author>
<category><![CDATA[电脑类]]></category>
<pubDate>Fri, 09 Jul 2010 05:31:08 +0000</pubDate> 
<guid>http://blog.gsywx.com/read.php/81.htm</guid> 
<description>
<![CDATA[ 
	win2008中的iis7下的几种aps+php环境配置方法<br/><br/>IIS7.5和IIS6.0在使用上有很大的灵活性，现就几种方法作简要说明<br/><br/>一、使用IIS7.5的fastcgi<br/>这是建议使用的一种，IIS使用FsatCGISettings及处理程序映射中添加模块映射。<br/>即在FsatCGISettings添加应用 php-cgi.exe，并在EnviornmemtVafiables里添加连接等变量。<br/>在处理应用程序中添加模块FastCgiModule的映射。<br/>在为站点添加模块FastCgiModule的映射后，相关配置会写入web.config<br/>php使用非线程安全版本<br/>这是在IIS7+FastCGI下最常用的方法，此配置下，无法支持zend，只能安装微软的wincache来加速缓存优化。<br/><br/>二、使用与IIS6.0下相同的方法<br/>即使用ISAIP方式来加载，<br/>具体方法为：在处理程序映射中添加模块FastCgiModule的映射,文件为php5isapi.dll,这种方式下要先为php5isapi.dll注册启用它，具体为打开ISAPI和CGI限制，添加php5isapi.dll并允许扩展路径，这和IIS6.0下的应用程序扩展中添加是一样的道理。<br/>在此方法下使用的php的普通版本的php，而不是非线程安全的版本<br/>这种方式下的php可以安装zend以及xcache等加速软件。<br/><br/><br/>三、使用普通版本的php，同时使用fastcgi方式<br/>处理方法类似第一种，使用php-cgi.exe来处理php，但php程序使用的是普通版本的，同样，这种方式下支持zend及xcache等加速软件<br/><br/><br/>另：由于个人应用的特殊要求,IIS7.5下支持同时使用不同版本不同方式使用的php，如上述三种方式来配置php，又或者同时还使用不同版本的php，关键只要做到能正确读取相应的php.ini即可。<br/>这是IIS6.0下所办不到的，IIS6.0下，除了不同时使用mysql等扩展，否则它是不能同时读取不同的php.ini来配置当前站点的。<br/>曾经测试，在不同方式下运行网站安装discuz，都可以正常运行。<br/><br/>至于具体的配置教程可以网上搜索下IIS7和IIS6下的环境配置的文章，这里就不再啰嗦了。<br/>Tags - <a href="http://blog.gsywx.com/go.php/tags/win2008/" rel="tag">win2008</a> , <a href="http://blog.gsywx.com/go.php/tags/win7/" rel="tag">win7</a> , <a href="http://blog.gsywx.com/go.php/tags/asp%252Bphp/" rel="tag">asp+php</a> , <a href="http://blog.gsywx.com/go.php/tags/fastcgi/" rel="tag">fastcgi</a> , <a href="http://blog.gsywx.com/go.php/tags/isapi/" rel="tag">isapi</a>
]]>
</description>
</item><item>
<link>http://blog.gsywx.com/read.php/80.htm</link>
<title><![CDATA[memcached服务端安装脚本]]></title> 
<author>xiaoyuwxz &lt;wxz@gsywx.com&gt;</author>
<category><![CDATA[原创]]></category>
<pubDate>Thu, 08 Jul 2010 03:31:26 +0000</pubDate> 
<guid>http://blog.gsywx.com/read.php/80.htm</guid> 
<description>
<![CDATA[ 
	自己写的一个简单的脚本，执行安装即可。转截请注明地址.<br/><br/>#!/bin/bash<br/>clear<br/>echo "--------------------memcached安装脚本，按任意键继续---------------------"<br/>get_char()<br/>&nbsp;&nbsp;&#123;<br/>&nbsp;&nbsp;SAVEDSTTY=`stty -g`<br/>&nbsp;&nbsp;stty -echo<br/>&nbsp;&nbsp;stty cbreak<br/>&nbsp;&nbsp;dd if=/dev/tty bs=1 count=1 2> /dev/null<br/>&nbsp;&nbsp;stty -raw<br/>&nbsp;&nbsp;stty echo<br/>&nbsp;&nbsp;stty $SAVEDSTTY<br/>&nbsp;&nbsp;&#125;<br/>&nbsp;&nbsp;echo ""<br/>&nbsp;&nbsp;echo "安装memcached，连接并发数1024,内存64M，按任意键继续......"<br/>&nbsp;&nbsp;char=`get_char`<br/><br/>tar zxvf libevent-1.4.13-stable.tar.gz<br/>cd libevent-1.4.13-stable<br/>./configure<br/>make<br/>make install<br/>cd ../<br/>echo "/usr/local/lib" >/etc/ld.so.conf.d/libevent-i386.conf<br/>ldconfig<br/>#默认安装在/usr/local/lib/<br/><br/>tar zxvf memcached-1.4.5.tar.gz<br/>cd memcached-1.4.5<br/> ./configure --prefix=/web/memcached<br/>make<br/>make install<br/>cd ../<br/>#默认安装在/usr/local/bin/<br/><br/>#创建简单的memcache启动停止脚本(未有进程判断)<br/>cat >>/memcached<<EOF<br/>#!/bin/bash<br/><br/>start()&#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo "开始启动memcached ......"<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/web/memcached/bin/memcached -d -m 64 -u nobody -l 127.0.0.1 -p 11211 -c 1024 -P /tmp/memcached.pid<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo "OK"<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/><br/>stop() &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo "正在停止memcached ......"<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;killall -9 memcached<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rm -f&nbsp;&nbsp;/tmp/memcached.pid<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo "OK"<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/><br/>restart() &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;stop<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;start<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/><br/>case "" in<br/>&nbsp;&nbsp;start)<br/>start<br/>;;<br/>&nbsp;&nbsp;stop)<br/>stop<br/>;;<br/>&nbsp;&nbsp;restart)<br/>stop<br/>start<br/>;;<br/>*)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo $ "Usage: $0 &#123;start&#124;stop&#124;restart&#125;"<br/>;;<br/>esac<br/>EOF<br/>sed -i 's#""#"$1"#g' /memcached<br/>chmod +x /memcached<br/>/memcached start<br/>cp -f memcache.php /home/wwwroot/htdocs/<br/><br/>sleep 1<br/>echo "删除安装临时文件............."<br/>rm -Rf libevent-1.4.13-stable<br/>rm -Rf memcached-1.4.5<br/><br/><br/>memcache.php内容为:<br/><br/><?php<br/>$mem = new Memcache;<br/>$mem->connect("127.0.0.1",11211);<br/>$mem->set('key', "This is tell you: memcached rum success!", 0, 60);<br/>$val = $mem->get('key');<br/>echo $val;<br/>?><br/><br/>Tags - <a href="http://blog.gsywx.com/go.php/tags/linux/" rel="tag">linux</a> , <a href="http://blog.gsywx.com/go.php/tags/memcached/" rel="tag">memcached</a> , <a href="http://blog.gsywx.com/go.php/tags/memcached%25E8%2584%259A%25E6%259C%25AC%25E5%25AE%2589%25E8%25A3%2585/" rel="tag">memcached脚本安装</a>
]]>
</description>
</item><item>
<link>http://blog.gsywx.com/read.php/79.htm</link>
<title><![CDATA[memcached安装教程]]></title> 
<author>xiaoyuwxz &lt;wxz@gsywx.com&gt;</author>
<category><![CDATA[电脑类]]></category>
<pubDate>Thu, 08 Jul 2010 03:23:21 +0000</pubDate> 
<guid>http://blog.gsywx.com/read.php/79.htm</guid> 
<description>
<![CDATA[ 
	一、memcached服务端的安装<br/>1.安装前需要先安装libevent:<br/>下载地址：<br/>http://www.monkey.org/~provos/libevent/<br/>安装 libevent-1.4.13-stable.tar.gz<br/>#默认安装在/usr/local/lib/<br/><br/>2. memcached安装:<br/>下载地址：<br/>http://memcached.org/<br/>安装 memcached-1.4.5.tar.gz<br/>#默认安装在/usr/local/bin/<br/><br/>3.测试时候发现会出现以下错误信息：<br/>/usr/local/memcached/bin/memcached: error while loading shared libraries: libevent-1.4.so.2: cannot open shared object file: No such file or directory<br/>错误的原因是未在系统中注册Libevent. 解决方法如下:<br/>vi /etc/ld.so.conf.d/libevent-i386.conf<br/>输入：<br/>/usr/local/lib/<br/>最后不要忘了<br/>ldconfig<br/><br/>4.CentOS Memcached运行<br/>/web/memcached/bin/memcached -m 512 -u nobody -vv<br/>会看到如下信息：<br/>slab class&nbsp;&nbsp; 1: chunk size&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;80 perslab&nbsp;&nbsp; 13107<br/>slab class&nbsp;&nbsp; 2: chunk size&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 104 perslab&nbsp;&nbsp; 10082<br/>slab class&nbsp;&nbsp; 3: chunk size&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 136 perslab&nbsp;&nbsp;&nbsp;&nbsp;7710<br/>slab class&nbsp;&nbsp; 4: chunk size&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 176 perslab&nbsp;&nbsp;&nbsp;&nbsp;5957<br/>slab class&nbsp;&nbsp; 5: chunk size&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 224 perslab&nbsp;&nbsp;&nbsp;&nbsp;4681<br/>slab class&nbsp;&nbsp; 6: chunk size&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 280 perslab&nbsp;&nbsp;&nbsp;&nbsp;3744<br/>slab class&nbsp;&nbsp; 7: chunk size&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 352 perslab&nbsp;&nbsp;&nbsp;&nbsp;2978<br/>slab class&nbsp;&nbsp; 8: chunk size&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 440 perslab&nbsp;&nbsp;&nbsp;&nbsp;2383<br/>slab class&nbsp;&nbsp; 9: chunk size&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 552 perslab&nbsp;&nbsp;&nbsp;&nbsp;1899<br/>slab class&nbsp;&nbsp;10: chunk size&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 696 perslab&nbsp;&nbsp;&nbsp;&nbsp;1506<br/>slab class&nbsp;&nbsp;11: chunk size&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 872 perslab&nbsp;&nbsp;&nbsp;&nbsp;1202<br/>slab class&nbsp;&nbsp;12: chunk size&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1096 perslab&nbsp;&nbsp;&nbsp;&nbsp; 956<br/>slab class&nbsp;&nbsp;13: chunk size&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1376 perslab&nbsp;&nbsp;&nbsp;&nbsp; 762<br/>slab class&nbsp;&nbsp;14: chunk size&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1720 perslab&nbsp;&nbsp;&nbsp;&nbsp; 609<br/>slab class&nbsp;&nbsp;15: chunk size&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2152 perslab&nbsp;&nbsp;&nbsp;&nbsp; 487<br/>slab class&nbsp;&nbsp;16: chunk size&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2696 perslab&nbsp;&nbsp;&nbsp;&nbsp; 388<br/>slab class&nbsp;&nbsp;17: chunk size&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3376 perslab&nbsp;&nbsp;&nbsp;&nbsp; 310<br/>slab class&nbsp;&nbsp;18: chunk size&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4224 perslab&nbsp;&nbsp;&nbsp;&nbsp; 248<br/>slab class&nbsp;&nbsp;19: chunk size&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;5280 perslab&nbsp;&nbsp;&nbsp;&nbsp; 198<br/>slab class&nbsp;&nbsp;20: chunk size&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;6600 perslab&nbsp;&nbsp;&nbsp;&nbsp; 158<br/>slab class&nbsp;&nbsp;21: chunk size&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8256 perslab&nbsp;&nbsp;&nbsp;&nbsp; 127<br/>slab class&nbsp;&nbsp;22: chunk size&nbsp;&nbsp;&nbsp;&nbsp; 10320 perslab&nbsp;&nbsp;&nbsp;&nbsp; 101<br/>slab class&nbsp;&nbsp;23: chunk size&nbsp;&nbsp;&nbsp;&nbsp; 12904 perslab&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;81<br/>slab class&nbsp;&nbsp;24: chunk size&nbsp;&nbsp;&nbsp;&nbsp; 16136 perslab&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;64<br/>slab class&nbsp;&nbsp;25: chunk size&nbsp;&nbsp;&nbsp;&nbsp; 20176 perslab&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;51<br/>slab class&nbsp;&nbsp;26: chunk size&nbsp;&nbsp;&nbsp;&nbsp; 25224 perslab&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;41<br/>slab class&nbsp;&nbsp;27: chunk size&nbsp;&nbsp;&nbsp;&nbsp; 31536 perslab&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;33<br/>slab class&nbsp;&nbsp;28: chunk size&nbsp;&nbsp;&nbsp;&nbsp; 39424 perslab&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;26<br/>slab class&nbsp;&nbsp;29: chunk size&nbsp;&nbsp;&nbsp;&nbsp; 49280 perslab&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;21<br/>slab class&nbsp;&nbsp;30: chunk size&nbsp;&nbsp;&nbsp;&nbsp; 61600 perslab&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;17<br/>slab class&nbsp;&nbsp;31: chunk size&nbsp;&nbsp;&nbsp;&nbsp; 77000 perslab&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;13<br/>slab class&nbsp;&nbsp;32: chunk size&nbsp;&nbsp;&nbsp;&nbsp; 96256 perslab&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;10<br/>slab class&nbsp;&nbsp;33: chunk size&nbsp;&nbsp;&nbsp;&nbsp;120320 perslab&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 8<br/>slab class&nbsp;&nbsp;34: chunk size&nbsp;&nbsp;&nbsp;&nbsp;150400 perslab&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 6<br/>slab class&nbsp;&nbsp;35: chunk size&nbsp;&nbsp;&nbsp;&nbsp;188000 perslab&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 5<br/>slab class&nbsp;&nbsp;36: chunk size&nbsp;&nbsp;&nbsp;&nbsp;235000 perslab&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4<br/>slab class&nbsp;&nbsp;37: chunk size&nbsp;&nbsp;&nbsp;&nbsp;293752 perslab&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3<br/>slab class&nbsp;&nbsp;38: chunk size&nbsp;&nbsp;&nbsp;&nbsp;367192 perslab&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2<br/>slab class&nbsp;&nbsp;39: chunk size&nbsp;&nbsp;&nbsp;&nbsp;458992 perslab&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2<br/>slab class&nbsp;&nbsp;40: chunk size&nbsp;&nbsp;&nbsp;&nbsp;573744 perslab&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1<br/>slab class&nbsp;&nbsp;41: chunk size&nbsp;&nbsp;&nbsp;&nbsp;717184 perslab&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1<br/>slab class&nbsp;&nbsp;42: chunk size&nbsp;&nbsp; 1048576 perslab&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1<br/><26 server listening (auto-negotiate)<br/><27 server listening (auto-negotiate)<br/><28 send buffer was 8388608, now 268435456<br/><29 send buffer was 8388608, now 268435456<br/><28 server listening (udp)<br/><29 server listening (udp)<br/><28 server listening (udp)<br/><29 server listening (udp)<br/><28 server listening (udp)<br/><29 server listening (udp)<br/><28 server listening (udp)<br/><29 server listening (udp)<br/><br/>memcached运行正常。<br/><br/><br/>二、memcached的基本设置：<br/>1、启动Memcached的服务器端：<br/>/web/memcached/bin/memcached -d -m 64 -u nobody -l 127.0.0.1 -p 11211 -c 1024 -P /tmp/memcached.pid<br/><br/>-d选项是启动一个守护进程，<br/>-m是分配给Memcache使用的内存数量，单位是MB<br/>-u是运行Memcache的用户<br/>-l是监听的服务器IP地址，IP地址127.0.0.1<br/>-p是设置Memcache监听的端口，默认为11211<br/>-c选项是最大运行的并发连接数，默认是1024<br/>-P是设置保存Memcache的pid文件，/tmp/memcached.pid，这个选项加不加无所谓<br/><br/>2、如果要结束memcached进程，执行：<br/><br/>kill `cat /tmp/memcached.pid`<br/>或者<br/>killall -9 /web/memcached/bin/memcached<br/><br/>也可以启动多个守护进程，不过端口不能重复。<br/><br/>3、重启apache，service httpd restart<br/><br/>memcached环境测试：<br/>运行下面的php文件，如果有输出This is a test!，就表示环境搭建成功。<br/><?php<br/>$mem = new Memcache;<br/>$mem->connect("127.0.0.1",11211);<br/>$mem->set('key', "This is tell you: memcached rum success!", 0, 60);<br/>$val = $mem->get('key');<br/>echo $val;<br/>?><br/><br/><br/>三、安装memcached的PHP扩展<br/><br/>1、在http://pecl.php.net/package/memcache 选择相应想要下载的memcache版本。<br/>2、安装PHP的memcache扩展<br/><br/>tar vxzf memcache-2.2.5.tgz<br/><br/>我的php安装在/web/php<br/>确保编译参数为以下：<br/>/web/php/bin/phpize<br/>./configure --with-php-config=/web/php/bin/php-config<br/><br/><br/>3、安装完后会有类似这样的提示：<br/><br/>Installing shared extensions: /web/php/lib/php/extensions/no-debug-zts-20060613/<br/><br/>4、把php.ini中的extension_dir = "./"修改为<br/><br/>extension_dir = "/web/php/lib/php/extensions/no-debug-zts-20060613/"<br/><br/>5、添加一行来载入memcache扩展：extension=memcache.so<br/><br/><br/>Tags - <a href="http://blog.gsywx.com/go.php/tags/linux/" rel="tag">linux</a> , <a href="http://blog.gsywx.com/go.php/tags/memcached/" rel="tag">memcached</a>
]]>
</description>
</item><item>
<link>http://blog.gsywx.com/read.php/78.htm</link>
<title><![CDATA[linux下php扩展cURL的详细安装教程(适合新手)]]></title> 
<author>xiaoyuwxz &lt;wxz@gsywx.com&gt;</author>
<category><![CDATA[电脑类]]></category>
<pubDate>Thu, 01 Jul 2010 06:48:52 +0000</pubDate> 
<guid>http://blog.gsywx.com/read.php/78.htm</guid> 
<description>
<![CDATA[ 
	<br/><br/>方法一：还未安装php程序时<br/><br/>进入官方下载：http://curl.haxx.se/download.html<br/><br/>wget http://curl.haxx.se/download/curl-7.21.0.tar.gz<br/>tar zxvf curl-7.21.0.tar.gz<br/>cd curl-7.21.0<br/>./configure<br/>make<br/>make install<br/><br/>安装php时，只要打开./configure --with-curl<br/>就可以了。<br/><br/><br/>方法二：已安装好php程序，想要添加php的curl扩展<br/><br/>先在线安装<br/>yum install curl curl-devel<br/><br/>进入php的源码目录，如我用的是php-5.2.13.tar.gz<br/>而我装好的php程序在/web/php目录，操作如下：<br/><br/>tar zxvf php-5.2.13.tar.gz<br/>cd php-5.2.13<br/>cd ext/curl<br/>/web/php/bin/phpize<br/>./configure --with-curl=DIR --with-php-config=/web/php/bin/php-config<br/>make<br/><br/>编译结束会有这样一句：<br/>Libraries have been installed in:<br/>&nbsp;&nbsp; /soft/php-5.2.13/ext/curl/modules<br/><br/>而正常在装过其他php扩展后会有这样的目录<br/>/web/php/lib/php/extensions/no-de-zts-20060613<br/><br/>如没有/web/php/lib/php/extensions/目录可以自己创建<br/>mkdir -p /web/php/lib/php/extensions/no-de-zts-20060613<br/><br/>cp modules/curl.so /web/php/lib/php/extensions/no-de-zts-20060613<br/>vi /etc/php.ini<br/>找到<br/><br/>extension_dir = <br/>确保它为<br/>extension_dir = "/web/php/lib/php/extensions/no-debug-non-zts-20060613/"<br/>然后在下面一行添加：<br/>extension = "curl.so"<br/><br/>重启下httpd或nginx即可<br/><br/>Tags - <a href="http://blog.gsywx.com/go.php/tags/linux/" rel="tag">linux</a> , <a href="http://blog.gsywx.com/go.php/tags/curl/" rel="tag">curl</a> , <a href="http://blog.gsywx.com/go.php/tags/php%25E6%2589%25A9%25E5%25B1%2595/" rel="tag">php扩展</a>
]]>
</description>
</item><item>
<link>http://blog.gsywx.com/read.php/77.htm</link>
<title><![CDATA[RHEL5.4利用centos yum进行更新]]></title> 
<author>xiaoyuwxz &lt;wxz@gsywx.com&gt;</author>
<category><![CDATA[电脑类]]></category>
<pubDate>Fri, 11 Jun 2010 14:18:42 +0000</pubDate> 
<guid>http://blog.gsywx.com/read.php/77.htm</guid> 
<description>
<![CDATA[ 
	1.rhel5系统安装的时候其实已经有yum了，刚安装redhat就可以在终端敲入yum，只是会提示没有注册 <br/>This system is not registered with RHN. <br/>RHN support will be disabled. <br/>只是因为如果用官方的网站更新的话除非你是用钱买的rhel5.否则它会提示注册之类的。 <br/>当然用[root@localhost Desktop]#yum update当然也是不行的 <br/>因此，我试着在网上找一些方法来实现yum自动更新，有的网站说利用CentOS的yum更新源，但需要删掉RedHat 5本来的yum，我先利用rpm -qa &#124; grep yum找到所有yum文件，然后又用rpm -e命令删除<br/>rpm -e yum-metadata-parser-1.1.2-3.el5<br/>rpm -e yum-3.2.22-20.el5<br/>rpm -e yum-updatesd-0.9-2.el5<br/>rpm -e yum-rhn-plugin-0.5.4-13.el5<br/>rpm -e yum-security-1.1.16-13.el5<br/>因为依赖性，实际删除的文件不止这么几个<br/>于是再恢复安装RedHat 5本来的yum,于是在光盘里面找，于是将删掉的文件又重新安装上去了，主要是： <br/>yum-3.2.22-20.el5 <br/>安装好以后在命令行敲入yum，终于有可以找到它了，呵呵 <br/>2. 修改源配置文件 ＃gedit /etc/yum.repos.d/CentOS-Base.repo <br/>在其中加入以下内容 <br/>[base] <br/>name=CentOS-5-Base <br/>#mirrorlist=http://mirrorlist.centos.org/?release=$releasever5&arch=$basearch&repo=os <br/>#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/ <br/>baseurl=http://ftp.sjtu.edu.cn/centos/5/os/$basearch/ <br/>gpgcheck=1 <br/>gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-centos5 <br/>#released updates <br/>[update] <br/>name=CentOS-5-Updates <br/>#mirrorlist=http://mirrorlist.centos.org/?release=4&arch=$basearch&repo=updates <br/>baseurl=http://ftp.sjtu.edu.cn/centos/5/updates/$basearch/ <br/>gpgcheck=1 <br/>gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-centos5 <br/>#packages used/produced in the build but not released <br/>[addons] <br/>name=CentOS-5-Addons <br/>#mirrorlist=http://mirrorlist.centos.org/?release=4&arch=$basearch&repo=addons <br/>baseurl=http://ftp.sjtu.edu.cn/centos/5/addons/$basearch/ <br/>gpgcheck=1 <br/>gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-centos5 <br/>#additional packages that may be useful <br/>[extras] <br/>name=CentOS-5-Extras <br/>#mirrorlist=http://mirrorlist.centos.org/?release=4&arch=$basearch&repo=extras <br/>baseurl=http://ftp.sjtu.edu.cn/centos/5/extras/$basearch/ <br/>gpgcheck=1 <br/>gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-centos5 <br/>#additional packages that extend functionality of existing packages <br/>[centosplus] <br/>name=CentOS-5-Plus <br/>#mirrorlist=http://mirrorlist.centos.org/?release=4&arch=$basearch&repo=centosplus <br/>baseurl=http://ftp.sjtu.edu.cn/centos/5/centosplus/$basearch/ <br/>gpgcheck=1 <br/>enabled=0 <br/>gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-centos5 <br/>#contrib - packages by Centos Users <br/>[contrib] <br/>name=CentOS-5-Contrib <br/>#mirrorlist=http://mirrorlist.centos.org/?release=4&arch=$basearch&repo=contrib <br/>baseurl=http://ftp.sjtu.edu.cn/centos/5/contrib/$basearch/ <br/>gpgcheck=1 <br/>enabled=0 <br/>gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-centos5 <br/># vi dag.repo <br/>[dag] <br/>name=Dag RPM Repository for RHEL5 <br/>baseurl=http://ftp.riken.jp/Linux/dag/redhat/el5/en/$basearch/dag/ <br/>enabled=1 <br/>gpgcheck=1 <br/>gpgkey=http://ftp.riken.jp/Linux/dag/packages/RPM-GPG-KEY.dag.txt <br/>3. 导入key <br/>＃rpm --import http://ftp.sjtu.edu.cn/centos/5/os/i386/RPM-GPG-KEY-CentOS-5 <br/>4. 运行，测试 <br/>＃yum list vsftpd<br/>5.如果结果出现错误： <br/>warning: rpmts_HdrFromFdno: Header V3 DSA signature: NOKEY, key ID 6b8d79e6 <br/>GPG key retrieval failed: [Errno 14] HTTP Error 404: Not Found <br/>此时，将gpgcheck=1改成gpgcheck=0即可。 <br/>6. 运行，测试 <br/>＃yum install vsftpd <br/>能够正确安装上了，就是更新文件列表的速度相当慢。<br/>Tags - <a href="http://blog.gsywx.com/go.php/tags/redhat5/" rel="tag">redhat5</a> , <a href="http://blog.gsywx.com/go.php/tags/yum/" rel="tag">yum</a>
]]>
</description>
</item>
</channel>
</rss>