学海千重看我飞舟横渡,书山万仞祝君捷足先登。
雪兆丰年且喜丰年逢瑞雪,灯辉佳节每临佳节赏华灯。
迎新年满园春色满园锦,辞旧岁遍地鲜花遍地歌。
尊师重教四海群芳竞秀,革故鼎新九州万木争荣。
祖国山河处处尽展锦绣,中华儿女人人皆称舜尧。
众志成城四化宏图在望,繁花似锦千秋幸福绵长。
中华三度腾飞全民共庆,宇内千般改革万物皆春。
志在八方何惧山高路远,龙游四海哪怕浪急风狂。
所有用户的勋章清空
UPDATE cdb_memberfields
SET medals
= ‘0’
Archives
Do not edit this page
修改MYSQL最大连接数
方法一:进入MYSQL安装目录 打开MYSQL配置文件 my.ini 查找 max_connections=100 修改为 max_connections=1000 服务里重起MYSQL即可
如果在linux下面,就编辑/etc/my.cnf
找到[mysqld]一段,加入如下一行:
set-variable=max_connections=1500
注意:该参数必须加入[mysqld]配置段内,加入别的地方无效。
方法二:MySQL的最大连接数默认是100客户端登录:mysql -uusername -ppassword
设置新的最大连接数为200:mysql> set GLOBAL max_connections=200
显示当前运行的Query:mysql> show processlist
显示当前状态:mysql> show status
退出客户端:mysql> exit
查看当前最大连接数:mysqladmin -uusername -ppassword variables
注:方法二是临时的,重启就又是100的连接数了
方法三:修改启动文件
mysql的最大连接数默认是100, 这个数值对于并发连接很多的数据库应用是远远不够
的,可以把它适当调大,
whereis safe_mysqld
找到safe_mysqld的位置,然后编辑它,找到mysqld启动的那两行,在后面加上参数
-O max_connections=1000
例如
— safe_mysqld.orig Mon Sep 25 09:34:01 2000
+++ safe_mysqld Sun Sep 24 16:56:46 2000
@@ -109,10 +109,10 @@
if test “$#” -eq 0
then
nohup $ledir/mysqld –basedir=$MY_BASEDIR_VERSION –datadir=$DATADIR /
- –skip-locking >> $err_log 2>&1
+ –skip-locking -O max_connections=1000 >> $err_log 2>&1
else
nohup $ledir/mysqld –basedir=$MY_BASEDIR_VERSION –datadir=$DATADIR /
- –skip-locking “$@” >> $err_log 2>&1
+ –skip-locking “$@” -O max_connections=1000 >> $err_log 2>&1
fi
if test ! -f $pid_file # This is removed if normal shutdown
then
然后关闭mysql重启它,用
/mysqladmin所在路径/mysqladmin -uroot -p variables
输入root数据库账号的密码后可看到
max_connections 1000
注:方法三未进行测试,为直接转的,并且我觉得应该是mysqld_safe文件。不知道是不是我的是5.0版本的原因
CENOS5.1下mysql编译笔记
今天今天本来想把MYSQL重新编译一次了,以前的链接数不够。资料都找到放下面了,结果还是有点担心对正常服务造成影响,毕竟是生产服务器,就又找了个不编译直接修改链接数的方法见http://www.9wy.net/archives/92.html,这文章只供参考了,未做。
下载的是5.0版本的源代码,地址http://mirror.provenscaling.com/mysql/enterprise/source/5.0/mysql-5.0.50.tar.gz
修改mysql 客户端最大连接数, 默认的只有100,远远达不到我们的要求。
vi sql/mysqld.cc
搜索找到下面一行:
{“max_connections”, OPT_MAX_CONNECTIONS,
“The number of simultaneous clients allowed.”, (gptr) &max_connections,
(gptr) &max_connections, 0, GET_ULONG, REQUIRED_ARG, 100, 1, 16384, 0, 1,
0},
将其中的100改为1500, 当然小点也可以,根据你的需要来,不建议改的太大。
{“max_connections”, OPT_MAX_CONNECTIONS,
“The number of simultaneous clients allowed.”, (gptr) &max_connections,
(gptr) &max_connections, 0, GET_ULONG, REQUIRED_ARG, 1500, 1, 16384, 0, 1,
0},
保存。
编译参数
./configure –prefix=/usr/local/mysql –localstatedir=/var/lib/mysql –with-comment=Source –with-server-suffix=-enterprise-gpl –with-mysqld-user=mysql –without-debug –with-big-tables –with-charset=utf8 –with-collation=utf8_general_ci –with-extra-charsets=gbk,latin1 –with-pthread –enable-static –with-client-ldflags=-all-static –with-mysqld-ldflags=-all-static –enable-assembler –without-innodb –without-ndb-debug –without-isam –enable-local-infile –with-readline –with-raid
extmail安装错误小结
错误
Can’t locate Ext/CGI.pm
解决办法
cd /var/www/extsuite/extman/libs/Ext
./buildlink.sh clean
./buildlink.sh build /var/www/extsuite/extmail/libs/Ext
新问题出现
Can’t locate Ext.pm in @INC (@INC contains: /var/www/extsuite/extman/libs
查看发现Ext.pm没有做好链接,可能是位置错误
# cp /var/www/extsuite/extmail/libs/Ext.pm /var/www/extsuite/extmail/libs/Ext/
再出现新问题那肯定是跟我一样由于版本不正确造成的,重新下载修改版本为合适版本就OK了
postfix配置过程
`
一、配置postfix
1、建立配置文件#postconf -n > /etc/postfix/main2.cf
#mv /etc/postfix/main.cf /etc/postfix/main.cf.old
#mv /etc/postfix/main2.cf /etc/postfix/main.cf2、再编辑main.cf:#vim /etc/postfix/main.cf添加以下内容
########################################
hostname
#mynetworks = 127.0.0.1
myhostname = mail.kkio.com
mydestination = $mynetworks $myhostname# banner
mail_name = Postfix - by KKIO.COM
smtpd_banner = $myhostname ESMTP $mail_name# response immediately
smtpd_error_sleep_time = 0s
unknown_local_recipient_reject_code = 450# extmail config here
virtual_alias_maps = mysql:/etc/postfix/mysql_virtual_alias_maps.cf
virtual_mailbox_domains = mysql:/etc/postfix/mysql_virtual_domains_maps.cf
virtual_mailbox_maps = mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf
virtual_transport = maildrop:######################################################`
3、编辑mysql_virtual_alias_maps.cf
#vim /etc/postfix/mysql_virtual_alias_maps.cf
添加以下内容
###########################
user = extmail
password = extmail
hosts = localhost
dbname = extmail
table = alias
select_field = goto
where_field = address#############################
4、编辑mysql_virtual_domains_maps.cf
#vim /etc/postfix/mysql_virtual_domains_maps.cf
内容如下:
user = extmail
password = extmail
hosts = localhost
dbname = extmail
table = domain
select_field = description
where_field = domain#additional_conditions = and backupmx =’0’ and active =’1’
5、编辑mysql_virtual_mailbox_maps.cf
#vim /etc/postfix/mysql_virtual_mailbox_maps.cf
内容如下:
user = extmail
password = extmail
hosts = localhost
dbname = extmail
table = mailbox
select_field = maildir
where_field = username#additional_conditions = and active = ‘1’
二、配置Courier-Authlib
安装Courier-Authlib1、运行如下命令安装相关软件包
#rpm -ivh RPMS/libtool-libs-1.5.6-4.EL4.1.c4.3.i386.rpm
//返回错误信息
//warning: RPMS/libtool-libs-1.5.6-4.EL4.1.c4.3.i386.rpm: Header V3 DSA signature: NOKEY, key ID 443e1821
//Preparing… ########################################### [100%]
// file /usr/lib/libltdl.so.3 from install of libtool-libs-1.5.6-4.EL4.1.c4.3 conflicts with file from package libtool-ltdl-1.5.22-6.1#rpm -ivh RPMS/courier-authlib-0.57-1hzq.i386.rpm
#rpm -ivh RPMS/courier-authlib-devel-0.57-1hzq.i386.rpm
#rpm -ivh RPMS/courier-authlib-mysql-0.57-1hzq.i386.rpm
2、编辑/etc/authlib/authmysqlrc文件,并将其内容清空,然后增加如下内容:
MYSQL_SERVER localhost
MYSQL_USERNAME extmail
MYSQL_PASSWORD extmail
MYSQL_SOCKET /var/lib/mysql/mysql.sock
MYSQL_PORT 3306
MYSQL_OPT 0
MYSQL_DATABASE extmail
MYSQL_USER_TABLE mailbox
MYSQL_CRYPT_PWFIELD password
MYSQL_UID_FIELD uidnumber
MYSQL_GID_FIELD gidnumber
MYSQL_LOGIN_FIELD username
MYSQL_HOME_FIELD homedir
MYSQL_NAME_FIELD name
MYSQL_MAILDIR_FIELD maildir
MYSQL_QUOTA_FIELD quota
MYSQL_SELECT_CLAUSE SELECT username,password,””,uidnumber,gidnumber,\
CONCAT(‘/home/domains/‘,homedir), \
CONCAT(‘/home/domains/‘,maildir), \
quota, \
name \
FROM mailbox \
WHERE username = ‘$(local_part)@$(domain)’3、存盘退出后启动courier-authlib:
#/etc/init.d/courier-authlib start
如一切正常,命令行将返回如下信息:
Starting Courier authentication services: authdaemond4、修改authdaemon socket目录权限
如果该目录权限不正确修改,maildrop及postfix等将无法正确获取用户的信息及密码认证:
chmod 755 /var/spool/authdaemon/5、配置使用maildrop
编辑main.cf,增加:
virtual_transport = maildrop:
maildrop_destination_recipient_limit = 1其次编辑master.cf,找到定义maildrop的那行,原来默认的内容:
maildrop unix - n n - - pipe
flags=DRhu user=vmail argv=/usr/local/bin/maildrop -d ${recipient}改为:
maildrop unix - n n - - pipe
flags=DRhu user=vuser argv=maildrop -w 90 -d ${recipient}增加投递用户
很多邮件系统文档都使用postfix这个用户(一般是uid=125)作为邮件存储,在使用
系统的virtual等投递时不存在问题,如果是改为maildrop则postfix会报错。不允许
通过pipe来以user=postfix来投递。因此从长远角度考虑(参见1),专门开一个帐户来保存邮件比较好。这里:
groupadd -r -g 1000 vgroup
useradd -u 1000 -d /home/domains -s /bin/true -g vgroup vuser这样就增加了一个uid=1000, gid=1000的用户vuser,组属于vgroup的。
以后如果要使用suexec也不会因为uid太低而造成问题了!
保存好所有修改,重新启动postfix
关于suexec的FAQ
今天安装postfix和extmail的时候发现不能正常运行CGI,赶紧检查log,发现是suexec出现错误了,我就说前几天的论坛附件怎么会出问题,赶紧查找原因,看suexec的log发现是user mismatch,上网一查原因,原来是配置APACHE的时候就出错了,好像只有重新编译了,又练手了
apache编译支持suexec功能
./configure –enable-suexec –with-suexec-logfile=/www/logs/suexec.log –with-suexec-uidmin=500 –with-suexec-gidmin=100 –with-suexec-caller=daemon –with-suexec-docroot=/www
关于suexec的FAQ
1.出现以下错误 command not in docroot
编译的时候加入–with-suexec-docroot 以后虚拟主机运行suexec的目录必须包含指定的目录里,通过suexec -V 可以察看docroot目录是哪儿
2.出现以下错误 user mismatch (daemon instead of www)
编译的时候加入–with-suexec-caller=daemon 默认是www,但一般apache的运行用户是nobody或者daemon,这里我们是httpd2.2.2,用户是daemon,所以指定这个参数,否则suexec不能被运行。
3.出现以下错误 cannot run as forbidden uid (1001/index.cgi)
在虚拟主机配置SuexecUserGroup时,指定的用户和组,必须高于–with-suexec-uidmin –with-suexec-gidmin 指定的用户uid和gid,否则被限制使用。
轻松更换SSHD端口
感谢CU各位大师的提醒,差点忘了开防火墙端口:) ,目前已经顺利完成更换端口的任务,把我的做法写一下,给后来的朋友做参考
1、先开telent服务作为保险
2、防火墙开启SSH新端口和telnet端口 //准备工作完成
3、更改SSHD配置文件端口为新端口
4、kill -HUP sshd进程
5、不退出老登陆,测试新端口链接成功
6、退出登陆,用新端口链接关闭telnet服务并关闭telnet端口和老SSHD的端口
没重启服务器,毕竟是生产服务器能不重启就不重启相信重启也没问题
DZ6.0中评分理由加长
1、修改misc.php(论坛根目录下)查找:
$sqlreason = cutstr(dhtmlspecialchars($sqlreason), 40);把其中的40改为240
将上面代码中的数字20改为你要限制的字符数,比如240。2、修改原有论坛数据库字段对评分理由字长的限制将下面代码中的数字20改为你要限制的字符数,比如240。然后在论坛后台->数据库升级:
ALTER TABLE
cdb_ratelog
CHANGEreason
reason
CHAR( 20 ) NOT NULLALTER TABLE
cdb_ratelog
CHANGEreason
reason
CHAR( 240 ) CHARACTER SET gbk COLLATE gbk_chinese_ci NOT NULL