ºìÁªLinuxÃÅ»§
Linux°ïÖú

Linux»úÉÏÔËÐжà¸ö°æ±¾µÄMySQL

·¢²¼Ê±¼ä:2007-12-18 09:49:06À´Ô´:ºìÁª×÷Õß:training
ÔÚͬһ̨·þÎñÆ÷Éϲ¿Êð¶à¸öMySQL·þÎñ£¬¿ÉÒÔÓÐЧÌá¸ß»úÆ÷ÀûÓÃÂÊ¡£¶øÇÒ£¬½«²»Í¬ÄÚÈÝ·ÖÊô²»Í¬·þÎñÉÏ£¬Ò²Ïà¶Ô¸ü°²È«Ð©¡£

MySQLÌṩÁËmysqld_multi£¬µ«Êµ¼ÊÓ¦ÓÃÖÐûÓÐÈËÓÃËü¡£±×¶Ë£º

1£¬ÔÝÍ£¡¢ÖØÆô£¬»áµ¼ÖÂËùÓзþÎñ¶¼Í£ÏÂÀ´¡£

2£¬ÅäÖÃÎļþÈß³¤£¬²ð·Ö¡¢Ç¨ÒÆʱÂé·³¡£

ÒµÄڱȽϳ£Óõķ½·¨ÊÇ£¬½«Êý¾Ý¿âÊý¾ÝÎļþºÍÅäÖÃÎļþ£¬ÒÔ¼°¿ªÆô¹Ø±Õ½Å±¾£¬¹²Í¬·ÅÔÚÒ»¸öĿ¼Ï¡£Æô¶¯·þÎñʱ£¬×÷Ϊһ¸öµ¥¶ÀµÄ·þÎñ£»¹Ø±Õʱ¶ÔÆäËû·þÎñûÓÐÓ°Ïì¡£°áǨʱ£¬Ö»Òª½«Õâ¸öĿ¼ǨÒƵ½Ä¿±ê»úÆ÷ÉϾÍOKÁË¡£

Ò»¸öµäÐ͵ÄÀý×Ó£º



10.10.82.83 [server2]$ cat start.sh
#!/bin/sh
rundir="/opt/server2";
echo $rundir;
/usr/local/mysql/bin/mysqld_safe --defaults-file="$rundir"/my.cnf --pid-file="$rundir"/mysql.pid --datadir="$rundir"/var --socket="$rundir"/mysql.sock --log-error="$rundir"/err.log --log-slow-queries="$rundir"/slow_query.log&

ÉÏÀýÖÐʹÓõÄMySQLÊÇ°´ÕÕ¹Ù·½½¨Òé°²×°ÔÚ/usr/local/mysqlϵġ£

ÓÐʱºòÐèÒªÔÚͬһ̨·þÎñÆ÷ÉÏʹÓöà¸ö²»Í¬°æ±¾£¬±ÈÈ磬²âÊÔа汾µÈ¡£°´ÕÕÒÔÉÏÂß¼­£¬½«ÐÂMySQLD°²×°ÔÚ /usr/local/mysql-newÏ£¬ÐÞ¸Ä start.sh Ϊ /usr/local/mysql-new/bin/mysqld_safe¡£Êý¾Ý¿â¿ÉÒÔÕý³£Æô¶¯£¬µ«ÊÇ£¬¹Û²ì·¢ÏÖ²¢²»ÊÇа汾¡£Ô­ÒòºÎÔÚ£¿

¹Ù·½µÄ½âÊÍÊÇ£ºÐèÒªÏÂÔØÔ´´úÂë°æ±¾£¬±àÒëʱָ¶¨ÔËÐÐĿ¼¡£Æäʵ²¢·Ç±ØÐëÈç´Ë¡£

Ñо¿mysqld_safeÎļþ£¬·¢ÏÖÆäÂß¼­Îª£º

A£¬´ÓÃüÁîÐÐÈ¡ÅäÖòÎÊý

B£¬´ÓÅäÖÃÎļþÈ¡ÅäÖòÎÊý

C£¬¶ÔÓÚmysqldµÄĿ¼£¨basedir£©ºÍÊý¾ÝÎļþĿ¼£¨datadir£©£¬Èç¹ûÒÔÉ϶¼Ã»ÓÐÔÚÅäÖÃÖÐÖ¸¶¨£¬ÔòÏȼì²éµ±Ç°Ä¿Â¼ÊÇ·ñ¿ÉÓ㬷ñÔòÉèÖÃ/usr/local/mysqlΪĬÈÏ¡£

ËùÒÔ£¬ËäȻʹÓõÄÊÇmysql-newϵÄmysqld_safe£¬µ«ÔËÐеĻ¹ÊÇ/usr/local/mysql/bin/mysqld£¬Ò²¾ÍÊǾɰ汾¡£ÐèÒªÏàÓ¦ÐÞ¸ÄÆô¶¯½Å±¾£¬»òÕßÊÇÅäÖÃÎļþ£º

#!/bin/sh
rundir="/opt/server0";
echo $rundir;
/usr/local/mysql-new/bin/mysqld_safe --defaults-file="$rundir"/my.cnf --ledir=/usr/local/mysql-new/bin --basedir=/usr/local/mysql-new --pid-file="$rundir"/mysql.pid --datadir="$rundir"/var --socket="$rundir"/mysql.sock --log-error="$rundir"/err.log --log-slow-queries="$rundir"/slow_query.log&

ÕâÑù¾Í¿ÉÒÔÔÚͬһ̨»úÆ÷ÉÏͬʱÔËÐжà¸ö°æ±¾µÄMysqlÁË¡£

##--------------------------ÏÂÃ沿·ÝÊÇÎÒżʵÑé³öÀ´µÎ...

ÉÏÃ沿·ÖºÍÎÒ×Ô¼ºµÄ×ö·¨Óе㲻ͬ,µ«Ô­Àí¶¼ÊÇÒ»Ñù,ÎÒÔÚ·þÎñÆ÷ÉÏÖ±½Ó¾ÍÓÃÕâÑùÒ»¾ä /usr/local/mysql5/bin/mysqld_safe --defaults-file=/etc/my5.cnf & ÀïÃæµÄÄÇЩ²ÎÊýÈ«¶¼ÉèÖõ½ my5.cnfÎļþÀïÁË,ËùÒÔ¿´ÆðÀ´¶ÌһЩ,Æäʵ×îÖØÒªµÄÊÇ--defaults-file,Õâ¸ö²ÎÊýÁË,¿ªÊ¼²»ÖªµÀÓÐÕⶫ¶«,º¦Å¼×ßÁ˺ܶàÍä·.faint.

ÖÁÓÚ°²×°mysqlµÄʱºòÎÒÊÇ´øµÄÈçϲÎÊý
./configure --prefix=/usr/local/mysql5 --localstatedir=/var/data/mysql5 --with-unix-socket-path=/tmp/mysql5.sock
ÕâÑùÀ´Çø·Ö¿ª²»Í¬µÄÊý¾Ý¿âµÄ°²×°Â·¾¶

Èç¹û»¹Ïë¿ÉÒÔʹÓà /etc/mysqld5 stop Ö®ÀàµÄÃüÁî,¾ÍÐèÒª¸Ä /etc/mysqld5 ÖеÄstop¶Î,ÏñÏÂÃæÕâ¶Î´úÂëÒ»Ñù(×¢Òâ pid_file='/var/data/mysql5/lookyellowpage.com.pid' #Jack added ÕâÐÐÊǼӽøÈ¥ÁË,ÀïÃæµÄ·¾¶Äã¿ÉÒÔ×Ô¼ºÖ¸¶¨,Ä¿µÄÊÇΪÁËÔËÐÐstopʱËü²»È¥È¡ /etc/my.cnf ±äÁ¿ÀïµÄÄÚÈÝ,ÒòΪȡ³öÀ´µÄ¶«Î÷ÓпÉÄÜÊÇÆäËüÊý¾Ý¿â·þÎñµÄ,ÓпÉÄÜ»á³ö´í).

'stop')
# Stop daemon. We use a signal here to avoid having to know the
# root password.

# The RedHat / SuSE lock directory to remove
lock_dir=/var/lock/subsys/mysqlmanager

# If the manager pid_file doesn't exist, try the server's
if test ! -s "$pid_file"
then
pid_file=$server_pid_file
lock_dir=/var/lock/subsys/mysql
fi


pid_file='/var/data/mysql5/lookyellowpage.com.pid' #Jack added
echo $pid_file

if test -s "$pid_file"
then
mysqlmanager_pid=`cat $pid_file`
echo $mysqlmanager_pid
echo $echo_n "Shutting down MySQL"
kill $mysqlmanager_pid
# mysqlmanager should remove the pid_file when it exits, so wait for it.
wait_for_pid removed

# delete lock for RedHat / SuSE
if test -f $lock_dir
then
rm -f $lock_dir
fi
else
log_failure_msg "MySQL manager or server PID file could not be found!"
fi
;;
ÎÄÕÂÆÀÂÛ

¹²ÓÐ 1 ÌõÆÀÂÛ

  1. gwpxjb ÓÚ 2007-12-18 14:26:58·¢±í:

    ¶à¸ö°æ±¾~~~Å£