LINUXQQ

九月 19, 2010

LINUX下的智能电源

Filed under: 乱7八糟 — admin @ 11:45 下午

基于LINUX下的智能电源,通过PBOX可执行远程管理,WEB终端管理的电源.调用LINUX系统下的ACIP的进程执行管理

九月 17, 2010

shell 监控进程自动重启

Filed under: linux — admin @ 5:40 下午

#!/bin/bash
cd /var/data/mtwu
while true
do
runck=`ps -fe |grep “java -cp” |grep -v “grep” |wc -l`
if [ $runck -eq 0 ]; then
  echo “run status stopting” >>/var/log/run.log
  ./run1.sh >/dev/null &
else
  echo “run status starting” >>/var/log/run.log
 fi
 sleep 120
done

九月 15, 2010

resultset_is_needed = true

Filed under: 乱7八糟 — admin @ 11:29 上午

resultset_is_needed

in proxy.queries:append() a 3rd parameter is a (optional) table with options specific to the this packet.

If we want to have access to the resultset in the read_query_result() hook, you have to set resultset_is_needed:

 proxy.queries:append( 1, ..., { resultset_is_needed = true } )

slave复制错误

Filed under: linux — admin @ 8:55 上午

          slave复制错误
Description:
Slave_IO_Running: Yes
Slave_SQL_Running: No
        Last_Errno: 1008
        Last_Error: Error ‘Can’t drop database ‘t2′; database doesn’t exist’ on query. Default database: ”. Query: ‘drop database t2′

Seconds_Behind_Master: NULL
Resolve Solution:
mysql> stop slave;
Query OK, 0 rows affected (0.00 sec)
mysql> set global sql_slave_skip_counter=1;
Query OK, 0 rows affected (0.00 sec)
mysql> start slave;
Query OK, 0 rows affected (0.01 sec)
mysql> show slave status\G
*************************** 1. row ***************************
             Slave_IO_State: Waiting for master to send event
                Master_Host: 192.168.3.21
                Master_User: slave
                Master_Port: 3307
              Connect_Retry: 60
            Master_Log_File: mysql-bin.000006
        Read_Master_Log_Pos: 98
             Relay_Log_File: mysqld-relay-bin.000018
              Relay_Log_Pos: 235
      Relay_Master_Log_File: mysql-bin.000006
           Slave_IO_Running: Yes
          Slave_SQL_Running: Yes
            Replicate_Do_DB:
        Replicate_Ignore_DB:
         Replicate_Do_Table:
     Replicate_Ignore_Table:
    Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
                 Last_Errno: 0
                 Last_Error:
               Skip_Counter: 0
        Exec_Master_Log_Pos: 98
            Relay_Log_Space: 235
            Until_Condition: None
             Until_Log_File:
              Until_Log_Pos: 0
         Master_SSL_Allowed: No
         Master_SSL_CA_File:
         Master_SSL_CA_Path:
            Master_SSL_Cert:
          Master_SSL_Cipher:
             Master_SSL_Key:
      Seconds_Behind_Master: 0
1 row in set (0.00 sec)
当show slave status\G出现类似database doesn’t exist’的error时,都优先考虑使用如下三个步骤来恢复:
stop slave;set global sql_slave_skip_counter=1;start slave

九月 13, 2010

监控mysql 自动重启shell脚本

Filed under: linux — admin @ 6:33 上午

#!/bin/bash
MUSER=”root”
MPASS=”123456″
MRESET=”/etc/rc.d/init.d/mysql restart”
TOMCATRSET=”/var/soft/tomcat.sh”
MADMIN=”/usr/local/mysql/bin/mysqladmin”
while true
 do
$MADMIN -u$MUSER -p$MPASS ping 2>/dev/null 1>/dev/null
if [ $? -ne 0 ];then
     msg=”server is not respinse waring:127.0.0.1″
     echo $msf >>/var/log/mysql.log
     $MRESET >/dev/null && $TOMCATRSET
   else
      echo “mysql operating normally” >>/var/log/mysql.log
  fi
  sleep 60
 done
这个是MYSQL的

从起玩MYSQL 也需要重启下TOMCAT 我的TOMCAT是负载

vi /var/soft/tomcat.sh

#!/bin/bash
/usr/local/tomcat/bin/shutdown.sh 2>/dev/null 1>/dev/null && /usr/local/tomcat6/bin/shutdown.sh 2>/dev/null 1>/dev/null
/usr/local/tomcat/bin/startup.sh 2>/dev/null 1>/dev/null && /usr/local/tomcat6/bin/startup.sh 2>/dev/null 1>/dev/null

九月 11, 2010

apache+mysql 优化

Filed under: linux — admin @ 9:58 上午

   多次接APACHE+MYSQL的优化 参数老记不住 老跑网上差 遇到很多问题

今天我先说下吧

先修改APACHE的默认连接数 在apache下的HTTPD-MPM.CONF配置里面

<IfModule mpm_prefork_module>
    StartServers          10
    MinSpareServers       10
    MaxSpareServers      15
    ServerLimit         20000
    MaxClients          20000
    MaxRequestsPerChild   10000
</IfModule>
以上参数内存16GB以上

修改MYSQL参数

port            = 3306
socket          = /tmp/mysql.sock
skip-locking
key_buffer = 402649088M
max_allowed_packet = 1M
table_cache = 512
sort_buffer_size = 32M
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M

max_connections=1000
thread_cache_size=64
wait_timeout=31536000

注意THREAD_CACHE的算法 建议各位去GOOGLE搜索下了

修改ULIMIT的值

基本上这样是可以的16G内存 还是可以抗住一定的访问量

九月 7, 2010

centos mysql 主从读写分离完整版

Filed under: linux — admin @ 8:02 下午

以下文档部分是转载

一、环境

        主机:

                   master操作系统:centos 5.3

                   IP:192.168.1.222

                   MySQL版本:5.0.77

         从机:          

     slave操作系统:centos 5.3

                   IP:192.168.1.220

                   MySQL版本:5.0.77

二、创建数据库

分别登录master机和slave机的mysql:mysql –u root –p

创建数据库:create database repl;

三、master机和slave机的相关配置

1、修改master机器中mysql配置文件my.cnf,该文件在/etc目录下

在[mysqld]配置段添加如下字段

server-id=1

log-bin=log

binlog-do-db=repl //需要同步的数据库,如果没有本行,即表示同步所有的数据库

binlog-ignore-db=mysql //被忽略的数据库

在master机上为slave机添加一同步帐号
grant replication slave on *.* to ‘repl’@’192.1681.220′ identified by ’123456′;

重启master机的mysql服务:service mysqld restart

用show master status 命令看日志情况

mysql>show master status;

+—————–+————+——————-+———————–+

| File                | Position     | Binlog_Do_DB   | Binlog_Ignore_DB |

+—————–+————+——————-+———————–+

|    log.000003 |           98  | repl                 | mysql                    |

+—————–+————+——————-+———————–+

1 row in set (0.00 sec)

2、修改slave机中mysql配置文件

同样在[mysqld]字段下添加如下内容

server-id=2

master-host=192.168.1.222

master-user=repl

master-password=123456

master-port=3306

master-connect-retry=60

replicate-do-db=repl //同步的数据库,不写本行 表示 同步所有数据库

然后重启slave机的mysql

在slave机中进入mysql

mysql>start slave;

mysql>show slave status\G;
如果Slave_IO_Running、Slave_SQL_Running状态为Yes则表明设置成功。

四、出现的问题

当我在执行start slave这条命令时,系统提示

ERROR 1200 (HY000): The server is not configured as slave; fix in config file or with CHANGE MASTER TO,

执行show slave status;又提示Empty set (0.00 sec),想不通问题在哪里

后来发现,原来slave已经默认开启,要先关闭再开启

执行 slave stop;

再执行

change master to master_host=’192.168.1.222′,master_user=’repl’,master_password=’123456′, master_log_file=’log.000003′ ,master_log_pos=98;

然后执行 slave start;

这时 再执行show slave status\G

显示如下:

*************************** 1. row ***************************

             Slave_IO_State: Waiting for master to send event

                Master_Host: 192.168.1.222

                Master_User: repl

                Master_Port: 3306

              Connect_Retry: 60

            Master_Log_File: log.000003

        Read_Master_Log_Pos: 98

            Relay_Log_File: mysqld-relay-bin.000002

              Relay_Log_Pos: 229

      Relay_Master_Log_File: log.000003

           Slave_IO_Running: Yes

          Slave_SQL_Running: Yes

            Replicate_Do_DB:

        Replicate_Ignore_DB:

         Replicate_Do_Table:

     Replicate_Ignore_Table:

    Replicate_Wild_Do_Table:

Replicate_Wild_Ignore_Table:

                 Last_Errno: 0

                 Last_Error:

               Skip_Counter: 0

        Exec_Master_Log_Pos: 98

            Relay_Log_Space: 229

            Until_Condition: None

             Until_Log_File:

              Until_Log_Pos: 0

         Master_SSL_Allowed: No

         Master_SSL_CA_File:

         Master_SSL_CA_Path:

            Master_SSL_Cert:

          Master_SSL_Cipher:

             Master_SSL_Key:

      Seconds_Behind_Master: 0

1 row in set (0.00 sec)

显示红色那两行,说明配置成功。

五、测试主从服务器是否能同步

在主服务器上面新建一个表,必须在repl数据下

mysql> use repl

Database changed

mysql> create table test(id int,name char(10));

Query OK, 0 rows affected (0.00 sec)

mysql> insert into test values(1,’zaq’);

Query OK, 1 row affected (0.00 sec)

mysql> insert into test values(1,’xsw’);

Query OK, 1 row affected (0.00 sec)

mysql> select * from test;

+——+——+

| id    | name |

+——-+——+

|    1    | zaq   |

|    1    | xsw |

+——-+——+

2 rows in set (0.00 sec)

在从服务器查看是否同步过来

mysql> use repl;

Database changed

mysql> select * from test;

+——+——+

| id    | name |

+——+——+

|     1 | zaq   |

|     1 | xsw |

+——+——+

2 rows in set (0.00 sec)

说明已经配置成功。

九月 1, 2010

Centos5+Apache2tomcat6+jdk1.6整合安装

Filed under: linux — admin @ 2:31 下午

先编译安装MYSQL
tar xzvf mysql-4.0.24.tar.gz
cd mysql-4.0.24
./configure –prefix=/usr/local/mysql –with-charset=gb2312 –with-xcharset=all –with-charset=gbk –with-extra-charsets=gbk 指定安装目录 这个可以改
如果您要重新做你的configure,那么你可以键入rm config.cache和make clean来清除记录
make
make install   (卸掉包是makeuninstall 剛學的)
cp support-files/my-medium.cnf /etc/my.cnf   将编译好的文件复制到/etc/底下
配置用户和组
useradd -d /usr/local/mysql/lib/mysql mysql 手工添加帐号并指定目录
cd /usr/local/mysql
bin/mysql_install_db –user=mysql 初始化数据库
chown -R root .
chown -R mysql var .
chown -R mysql .
bin/safe_mysql –user=mysql &
bin/mysql -u root 以ROOT身份登陆
编译好后mysql是手动启动这样很麻烦的 可以改为自动启动
cp /usr/local/mysql/share/mysql/mysql.server /etc/init.d/mysql
chkconfig -add mysql
chkconfig –level 345 mysql on 好了编译完了 嘿嘿

 安装步骤:
jdk-6u3-linux-i586.bin

#chmod u+x jdk-6u3-linux-i586.bin
#./jdk-6u3-linux-i586.

ln -s /usr/local/jdk1.6.0_03 /usr/local/jdk
ln -s /usr/local/jdk1.6.0_03 /jre /usr/local/jre
#vi /etc/profile
加入以下几行
export JAVA_HOME=/usr/local/jdk
export CLASSPATH=$JAVA_HOME/lib
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
export CATALINA_HOME=/usr/local/tomcat
保存退出。
#source /etc/profile
java –version 查看jdk是否安装成功
httpd-2.2.6.tar.gz
#cp httpd-2.2.6.tar.gz /usr/local
#cd /usr/local
#tar zxvf httpd-2.2.6.tar.gz
#cd httpd-2.2.6
#./configure –prefix=/usr/local/apache –enable-module=so
#make
#make install
启动Apache,并测试。
# cd /usr/local/apache/bin
# ./apachectl start
打开浏览器,并在地址栏中输入主机的IP地址
apache-tomcat-6.0.14.tar.gz
#tar zxvf apache-tomcat-6.0.14.tar.gz
#cp –r apache-tomcat-6.0.14 /usr/local/tomcat
#/usr/local/tomcat/bin/startup.sh
打开
http://localhost:8080
验证tomcat可以启动
整和apache和tomcat
tomcat-connectors-1.2.25-src.tar.gz
#tar zxvf tomcat-connectors-1.2.25-src.tar.gz
进行编译配置。大家一定要注意这几个参数中前三个是很重要的,必要时可以去相应的目录看看相关的文件是否存在。
#cd tomcat-connectors-1.2.25-src/native
# ./ buildconf.sh
#./configure –with-apxs=/usr/local/apache/bin/apxs  –with-tomcat=/usr/local/tomcat –with-java-home=/usr/java/jdk –with-jni
# make
# make install
#ll /usr/local/apache/modules/mod_jk.so
-rwxr-xr-x  1 root root 487769  8月 14 20:40 /usr/local/apache/modules/mod_jk.so
mod_jk.so生成成功了。
编辑apache的配置文件:
#vi /usr/local/apache/conf/httpd.conf
在末尾添加以下几行
# Load mod_jk module
  LoadModule jk_module modules/mod_jk.so
# Where to find workers.properties
  JkWorkersFile     /usr/local/apache/conf/workers.properties
# Where to put jk logs
  JkLogFile     /usr/local/apache/logs/mod_jk.log

# Set the jk log level [debug/error/info]
JkLogLevel    info

# Select the timestamp log format
JkLogStampFormat “[%a %b %d %H:%M:%S %Y] ”

# JkRequestLogFormat set the request format
JkRequestLogFormat “%w %V %T”

# JkOptions indicate to send SSL KEY SIZE,
JkOptions  +ForwardKeySize +ForwardURICompat -ForwardDirectories

# Send servlet for context /examples to worker named worker1
#JkMount  /examples/*.jsp worker1
  JkMount  /servlet/* worker1

# Send JSPs  for context /examples to worker named worker1
  JkMount  /*.jsp worker1

创建文件workers.proferties
#vi /usr/local/apache/conf/workers.porperties
添加如下内容:
    workers.tomcat_home=/usr/local/tomcat
    workers.java_home=/usr/local/jdk
    ps=/
    worker.list=worker1
    worker.worker1.port=8009
    worker.worker1.host=localhost
    worker.worker1.type=ajp13
    worker.worker1.connection_pool_timeout=600
    worker.worker1.socket_keepalive=1
    worker.worker1.lbfactor=1
    worker.inprocess.stdout=$(workers.tomcat_home)$(ps)logs$(ps)inprocess.stdout
    worker.inprocess.stderr=$(workers.tomcat_home)$(ps)logs$(ps)inprocess.stderr
5)   配置apache和tomcat的虚拟主机
首先APACHE的虚拟主机设置如下:
修改 conf/httpd.conf找到
# Virtual hosts
#Include conf/extra/httpd-vhosts.conf
修改为
# Virtual hosts
Include conf/extra/httpd-vhosts.conf
然后编辑
conf/extra/httpd-vhosts.conf
加入下面的代码
    ServerAdmin oasis.yan@intermobiz.com
    DocumentRoot /data/www/test1
    ServerName test1.ydjxc.com
    DirectoryIndex  index.jsp   
    ErrorLog logs/web_error_log
    CustomLog logs/web_access_log common
  Options -Indexes FollowSymLinks
  AllowOverride None
  Order allow,deny
  Allow from all

    ServerAdmin oasis.yan@intermobiz.com
    DocumentRoot /data/www/test2
    ServerName test2.ydjxc.com
    ServerAlias localhost
    DirectoryIndex  index.jsp
    ErrorLog logs/wap_error_log
    CustomLog logs/wap_access_log common
  Options -Indexes FollowSymLinks
  AllowOverride None
  Order allow,deny
  Allow from all
备注:test1/index.jsp的内容如下:

同理为test2/index.jsp
注意:丢掉下面这段代码会提示403错误
  Options -Indexes FollowSymLinks
  AllowOverride None
  Order allow,deny
  Allow from all

其次Tomcat设置虚拟主机
编辑tomcat的配置文件server.xml
在后面添加如下代码

备注:其中这是两段虚拟主机的代码,红色部分为虚拟目录的配置,这样就可以访问
http://test1.ydjxc.com:8080/test2
http://test2.ydjxc.com:8080/test1
特别注意的地方:
在配置文件中找到:
讲其改为:
如果不改的话,输入:
http://ip:8080
就可以直接进入tomcat的管理界面了。
最后重新启动tomcat和apache,我们的安装就完成了
#/usr/local/tomcat/bin/shutdown.sh    //关闭tomcat
#/usr/local/tomcat/bin/startup.sh     //启动tomcat

centos 5 内存

Filed under: linux — admin @ 12:36 下午

主要需要2个方面设置
1.bios:在bios里开启对大内存的设置
2.安装支持大内存的kernel

centos 5.0 默认安装 for i386的内核不支持 4g+的内存
需要安装上kernel-hugemem

yum install kernel-hugemem
结果发现 centos 下面 没有 kernel-hugemem这个rpm包了

已经改名为kernel-PAE
尝试用yum安装
yum install kernel-PAE
后来查看安装光盘,发现亦可用以下命令直接安装(注意,我的安装光盘已复制到/home目录下):

rpm -ivh /home/CentOS/kernel-PAE-2.6.18-8.el5.i686.rpm

安装好后
more /boot/grub/grub.conf
如果看到如下代码 代表PAE内核已经安装好了
# cat /etc/grub.conf
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
#          all kernel and initrd paths are relative to /boot/, eg.
#          root (hd0,0)
#          kernel /vmlinuz-version ro root=/dev/md2
#          initrd /initrd-version.img
#boot=/dev/md0
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.18-92.1.18.el5PAE)
root (hd0,0)
kernel /vmlinuz-2.6.18-92.1.18.el5PAE ro root=/dev/md2
initrd /initrd-2.6.18-92.1.18.el5PAE.img
title CentOS (2.6.18-8.el5)
root (hd0,0)
kernel /vmlinuz-2.6.18-8.el5 ro root=/dev/md2
initrd /initrd-2.6.18-8.el5.img

修改设置为默认启动

default=0

init 6,重启服务器
再执行top/free内存已经是4.1g了

# free
total       used       free     shared    buffers     cached
Mem:       4138228     440908    3697320          0      49716     262556

#top

top – 17:19:32 up 2:43, 3 users, load average: 0.04, 0.02, 0.00
Tasks: 98 total,   1 running, 97 sleeping,   0 stopped,   0 zombie
Cpu(s): 0.0%us, 0.2%sy, 0.0%ni, 99.8%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem:   4138228k total,   440784k used, 3697444k free,    49732k buffers
Swap: 8385784k total,        0k used, 8385784k free,   262556k cached

Powered by LINUXQQ   ICP 10203065