jojo's blog--快乐忧伤都与你同在
为梦想而来,为自由而生。 性情若水,风起水兴,风息水止,故时而激荡,时又清平……
posts - 11,  comments - 30,  trackbacks - 0
[mdrop@jojo1-1 init.d]$ cat mysqld.jojo1-1.us1.master.3306
#!/bin/bash
#
# mysqld    This shell script takes care of starting and stopping
#        the MySQL subsystem (mysqld).
#
# chkconfig: - 64 36
# description:    MySQL database server.
# processname: mysqld
# config: /etc/my.cnf.jojo1-1.us1.master.3306
# pidfile: /var/run/mysqld-$MYSQLD_SUFFIX/mysqld.pid

# Source function library.
. /etc/rc.d/init.d/functions

# Source networking configuration.
. /etc/sysconfig/network

MYSQLD_SUFFIX="jojo1-1.us1.master.3306"
MYCNF="/etc/my.cnf.$MYSQLD_SUFFIX"

prog="MySQL"

# extract value of a MySQL option from config files
# Usage: get_mysql_option SECTION VARNAME DEFAULT
# result is returned in $result
# We use my_print_defaults which prints all options from multiple files,
# with the more specific ones later; hence take the last match.
get_mysql_option(){
    #result=`/usr/bin/my_print_defaults "$1" | sed -n "s/^--$2=//p" | tail -n 1`
    #if [ -z "$result" ]; then
        # not found, use default
        #result="$3"
    #fi
      result="$3"
}

get_mysql_option mysqld datadir "/var/lib/mysql"
datadir="$result"
get_mysql_option mysqld socket "$datadir/mysql.sock"
socketfile="$result"
get_mysql_option mysqld_safe log-error "/var/log/mysqld-$MYSQLD_SUFFIX.log"
errlogfile="$result"
get_mysql_option mysqld_safe pid-file "/var/run/mysqld-$MYSQLD_SUFFIX/mysqld.pid"
mypidfile="$result"


start(){
    touch "$errlogfile"
    chown mysql:mysql "$errlogfile"
    chmod 0640 "$errlogfile"
    [ -x /sbin/restorecon ] && /sbin/restorecon "$errlogfile"
    if [ ! -d "$datadir/mysql" ] ; then
        action $"Initializing MySQL database: " /usr/bin/mysql_install_db
        ret=$?
        chown -R mysql:mysql "$datadir"
        if [ $ret -ne 0 ] ; then
        return $ret
        fi
    fi
    chown mysql:mysql "$datadir"
    chmod 0755 "$datadir"
    # Pass all the options determined above, to ensure consistent behavior.
    # In many cases mysqld_safe would arrive at the same conclusions anyway
    # but we need to be sure.
    /usr/bin/mysqld_safe  --defaults-file=$MYCNF  --datadir="$datadir" --socket="$socketfile" "
        --log-error="$errlogfile" --pid-file="$mypidfile" "
        >/dev/null 2>&1 &
    ret=$?
    # Spin for a maximum of N seconds waiting for the server to come up.
    # Rather than assuming we know a valid username, accept an "access
    # denied" response as meaning the server is functioning.
    if [ $ret -eq 0 ]; then
        STARTTIMEOUT=30
        while [ $STARTTIMEOUT -gt 0 ]; do
          RESPONSE=`/usr/bin/mysqladmin -uUNKNOWN_MYSQL_USER ping 2>&1` && break
        echo "$RESPONSE" | grep -q "Access denied for user" && break
        sleep 1
        let STARTTIMEOUT=${STARTTIMEOUT}-1
        done
        if [ $STARTTIMEOUT -eq 0 ]; then
                    echo "Timeout error occurred trying to start MySQL Daemon."
                    action $"Starting $prog: " /bin/false
                    ret=1
            else
                    action $"Starting $prog: " /bin/true
            fi
    else
            action $"Starting $prog: " /bin/false
    fi
    [ $ret -eq 0 ] && touch /var/lock/subsys/mysqld.$MYSQLD_SUFFIX
    return $ret
}

stop(){
        MYSQLPID=`cat "$mypidfile"  2>/dev/null `
        if [ -n "$MYSQLPID" ]; then
            /bin/kill "$MYSQLPID" >/dev/null 2>&1
            ret=$?
            if [ $ret -eq 0 ]; then
                STOPTIMEOUT=60
                while [ $STOPTIMEOUT -gt 0 ]; do
                    /bin/kill -0 "$MYSQLPID" >/dev/null 2>&1 || break
                    sleep 1
                    let STOPTIMEOUT=${STOPTIMEOUT}-1
                done
                if [ $STOPTIMEOUT -eq 0 ]; then
                    echo "Timeout error occurred trying to stop MySQL Daemon."
                    ret=1
                    action $"Stopping $prog: " /bin/false
                else
                    rm -f /var/lock/subsys/mysqld.$MYSQLD_SUFFIX
                    rm -f "$socketfile"
                    action $"Stopping $prog: " /bin/true
                fi
            else
                action $"Stopping $prog: " /bin/false
            fi
        else
            ret=1
            action $"Stopping $prog: " /bin/false
        fi
        return $ret
}
 
restart(){
    stop
    start
}

mystatus(){
 MYSQLPID=`cat "$mypidfile"  2>/dev/null `

 if [ -n "$MYSQLPID"  ];
 then
      echo "mysqld-$MYSQLD_SUFFIX is running"
 else
      echo "mysqld-$MYSQLD_SUFFIX is not running"
 fi
}

condrestart(){
    [ -e /var/lock/subsys/mysqld.$MYSQLD_SUFFIX ] && restart || :
}

# See how we were called.
case "$1" in
  start)
    start
    ;;
  stop)
    stop
    ;;
  status)
    #status -p "$mypidfile"  mysqld
    mystatus
    ;;
  restart)
    restart
    ;;
  condrestart)
    condrestart
    ;;
  *)
    echo $"Usage: $0 {start|stop|status|condrestart|restart}"
    exit 1
esac

exit $?


***********************************************************
[mdrop@jojo1-1 init.d]$ cat /etc/my.cnf.jojo1-1.us1.master.3306
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock

port=3306
set-variable = thread_cache_size=950
set-variable = table_cache=4200
set-variable = key_buffer_size=400M
set-variable = record_buffer=100000
set-variable = max_connect_errors=9999999999
set-variable = max_connections=1700
set-variable = tmp_table_size=10M
transaction-isolation = READ-UNCOMMITTED
set-variable = wait_timeout=180
set-variable = max_write_lock_count=120
skip-name-resolve
skip-locking
skip-innodb
set-variable = query_cache_type=1
set-variable = query_cache_size=52428800
log-slow-queries
memlock

set-variable = max_binlog_size=10M
log-bin=/var/lib/mysql/jojo1-1-us1-log-bin
log-bin-index=/var/lib/mysql/jojo1-1-us1-log-bin.index
server-id=1
    
[mysql.server]
user=mysql
basedir=/var/lib

[safe_mysqld]
err-log=/var/lib/mysql/mysqld.log
pid-file=/var/lib/mysql/mysqld.pid


##################################################



[mdrop@jojo1-1 init.d]$ cat mysqld.jojo1-2.us1.slave.3307
#!/bin/bash
#
# mysqld    This shell script takes care of starting and stopping
#        the MySQL subsystem (mysqld).
#
# chkconfig: - 64 36
# description:    MySQL database server.
# processname: mysqld
# config: /etc/my.cnf.jojo1-2.us1.slave.3307
# pidfile: /var/run/mysqld.jojo1-2.slave/mysqld.pid

# Source function library.
. /etc/rc.d/init.d/functions

# Source networking configuration.
. /etc/sysconfig/network

MYSQLD_SUFFIX="jojo1-2.us1.slave.3307"
MYCNF="/etc/my.cnf.$MYSQLD_SUFFIX"

prog="MySQL"

# extract value of a MySQL option from config files
# Usage: get_mysql_option SECTION VARNAME DEFAULT
# result is returned in $result
# We use my_print_defaults which prints all options from multiple files,
# with the more specific ones later; hence take the last match.
get_mysql_option(){
    #result=`/usr/bin/my_print_defaults "$1" | sed -n "s/^--$2=//p" | tail -n 1`
    #if [ -z "$result" ]; then
        # not found, use default
        #result="$3"
    #fi
      result="$3"
}

get_mysql_option mysqld datadir "/var/lib/mysql1"
datadir="$result"
get_mysql_option mysqld socket "$datadir/mysql.sock"
socketfile="$result"
get_mysql_option mysqld_safe log-error "/var/log/mysqld-$MYSQLD_SUFFIX.log"
errlogfile="$result"
get_mysql_option mysqld_safe pid-file "/var/run/mysqld-$MYSQLD_SUFFIX/mysqld.pid"
mypidfile="$result"


start(){
    touch "$errlogfile"
    chown mysql:mysql "$errlogfile"
    chmod 0640 "$errlogfile"
    [ -x /sbin/restorecon ] && /sbin/restorecon "$errlogfile"
    if [ ! -d "$datadir/mysql" ] ; then
        action $"Initializing MySQL database: " /usr/bin/mysql_install_db
        ret=$?
        chown -R mysql:mysql "$datadir"
        if [ $ret -ne 0 ] ; then
        return $ret
        fi
    fi
    chown mysql:mysql "$datadir"
    chmod 0755 "$datadir"
    # Pass all the options determined above, to ensure consistent behavior.
    # In many cases mysqld_safe would arrive at the same conclusions anyway
    # but we need to be sure.
    /usr/bin/mysqld_safe  --defaults-file=$MYCNF  --datadir="$datadir" --socket="$socketfile" "
        --log-error="$errlogfile" --pid-file="$mypidfile" "
        >/dev/null 2>&1 &
    ret=$?
    # Spin for a maximum of N seconds waiting for the server to come up.
    # Rather than assuming we know a valid username, accept an "access
    # denied" response as meaning the server is functioning.
    if [ $ret -eq 0 ]; then
        STARTTIMEOUT=30
        while [ $STARTTIMEOUT -gt 0 ]; do
        RESPONSE=`/usr/bin/mysqladmin -uUNKNOWN_MYSQL_USER ping 2>&1` && break
        echo "$RESPONSE" | grep -q "Access denied for user" && break
        sleep 1
        let STARTTIMEOUT=${STARTTIMEOUT}-1
        done
           
        if [ $STARTTIMEOUT -eq 0 ]; then
                    echo "Timeout error occurred trying to start MySQL Daemon."
                    action $"Starting $prog: " /bin/false
                    ret=1
            else
                    action $"Starting $prog: " /bin/true
            fi
    else
            action $"Starting $prog: " /bin/false
    fi
    [ $ret -eq 0 ] && touch /var/lock/subsys/mysqld.$MYSQLD_SUFFIX
    return $ret
}

stop(){
        MYSQLPID=`cat "$mypidfile"  2>/dev/null `
        if [ -n "$MYSQLPID" ]; then
            /bin/kill "$MYSQLPID" >/dev/null 2>&1
            ret=$?
            if [ $ret -eq 0 ]; then
                STOPTIMEOUT=60
                while [ $STOPTIMEOUT -gt 0 ]; do
                    /bin/kill -0 "$MYSQLPID" >/dev/null 2>&1 || break
                    sleep 1
                    let STOPTIMEOUT=${STOPTIMEOUT}-1
                done
                if [ $STOPTIMEOUT -eq 0 ]; then
                    echo "Timeout error occurred trying to stop MySQL Daemon."
                    ret=1
                    action $"Stopping $prog: " /bin/false
                else
                    rm -f /var/lock/subsys/mysqld.$MYSQLD_SUFFIX
                    rm -f "$socketfile"
                    action $"Stopping $prog: " /bin/true
                fi
            else
                action $"Stopping $prog: " /bin/false
            fi
        else
            ret=1
            action $"Stopping $prog: " /bin/false
        fi
        return $ret
}
 
restart(){
    stop
    start
}

mystatus(){
 MYSQLPID=`cat "$mypidfile"  2>/dev/null `

 if [ -n "$MYSQLPID"  ];
 then
      echo "mysqld-$MYSQLD_SUFFIX is running"
 else
      echo "mysqld-$MYSQLD_SUFFIX is not running"
 fi
}



condrestart(){
    [ -e /var/lock/subsys/mysqld.$MYSQLD_SUFFIX ] && restart || :
}

# See how we were called.
case "$1" in
  start)
    start
    ;;
  stop)
    stop
    ;;
  status)
    #status mysqld
    mystatus
    ;;
  restart)
    restart
    ;;
  condrestart)
    condrestart
    ;;
  *)
    echo $"Usage: $0 {start|stop|status|condrestart|restart}"
    exit 1
esac

exit $?

**********************************************
[mdrop@jojo1-1 init.d]$ cat /etc/my.cnf.jojo1-2.us1.slave.3307
[mysqld]
datadir=/var/lib/mysql1
socket=/var/lib/mysql1/mysql.sock
port=3307
set-variable = thread_cache_size=950
set-variable = table_cache=4200
set-variable = key_buffer_size=400M
set-variable = record_buffer=100000
set-variable = max_connect_errors=9999999999
set-variable = max_connections=950
set-variable = tmp_table_size=10M
transaction-isolation = READ-UNCOMMITTED
set-variable = wait_timeout=500
set-variable = max_write_lock_count=120
skip-name-resolve
skip-locking
skip-innodb
set-variable = query_cache_type=1
set-variable = query_cache_size=52428800
log-slow-queries
memlock

master-host=192.168.8.73
master-user=repl
master-password=repl12
master-port=3307
master-connect-retry=60
server-id=6239
set-variable = report-host=jojo1-1.us1.outblaze.com:3307

[mysql.server]
user=mysql

[safe_mysqld]
err-log=/var/lib/mysql1/mysqld.log
pid-file=/var/lib/mysql1/mysqld.pid


posted on 2009-07-17 10:02 Blog of JoJo 阅读(584) 评论(0)  编辑  收藏 所属分类: 每日一记My Script

只有注册用户登录后才能发表评论。


网站导航:
 

<2024年4月>
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011

常用链接

留言簿(6)

随笔档案

文章分类

文章档案

新闻分类

新闻档案

相册

收藏夹

搜索

  •  

最新评论

阅读排行榜

评论排行榜