[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 阅读(590)
评论(0) 编辑 收藏 所属分类:
每日一记 、
My Script