開發MySQL專業啓動腳本
1、MySQL啓動原理
1.1 已知mysql多實例啓動命令爲:
/application/mysql/bin/mysqld_safe --default-file=/data/3306/my.cnf &
###命令路徑是編譯安裝時的路徑
1.2 mysql多實例停止命令爲:
/application/mysql/bin/mysqladmin -uroot -p123 -S /data/3306/mysql.sock shutdown
###命令路徑是編譯安裝時的路徑
使用函數、case語句、if語句等實現。
2、編寫腳本
2.1 編寫啓動、停止腳本
[root@web02 oldboy20160103]# cat oldboy09_01.sh
#!/bin/sh
[ -f /etc/init.d/functions ] && source/etc/init.d/functions
BAKPath=/server/backup
MYUSER=root
MYPASS=123
SOCKET=/data/3306/mysql.sock
MYCMD="mysql -u$MYUSER -p$MYPASS -S$SOCKET"
MYADMIN="/application/mysql/bin/mysqladmin-uroot -p123 -S /data/3306/mysql.sock"
judge(){
RETVAL=$?
sleep 2
if [$RETVAL -eq 0 ];then
action"$1 mysql" /bin/true
else
action"$1 mysql" /bin/true
fi
return$RETVAL
}
start(){
/application/mysql/bin/mysqld_safe --defaults-file=/data/3306/my.cnf2>&1 > /dev/null &
judge start
}
stop(){
$MYADMINshutdown 2>&1 > /dev/null
judge stop
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
*)
echo${USAGE:$0{start|stop|restart}}
exit$RETVAL
esac
2.2 啓動mysql服務腳本
[root@web02 oldboy20160103]# netstat -lunpt |grep33
tcp 0 0 0.0.0.0:3307 0.0.0.0:* LISTEN 15027/mysqld
[root@web02 oldboy20160103]# /data/3306/my start
start mysql [ OK ]
[root@web02 oldboy20160103]# netstat -lunpt |grep33
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 38464/mysqld
tcp 0 00.0.0.0:3307 0.0.0.0:* LISTEN 15027/mysqld
[root@web02 oldboy20160103]#
2.3 停止mysql服務腳本
[root@web02 oldboy20160103]# /data/3306/my stop
stop mysql [ OK ]
[root@web02 oldboy20160103]# netstat -lunpt |grep33
tcp 0 0 0.0.0.0:3307 0.0.0.0:* LISTEN 15027/mysqld
2.4 重啓mysql服務腳本
[root@web02 oldboy20160103]# /data/3306/my start
start mysql [ OK ]
[root@web02 oldboy20160103]# /data/3306/my restart
stop mysql [ OK ]
start mysql [ OK ]
[root@web02 oldboy20160103]# netstat -lunpt |grep33
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 39990/mysqld
tcp 0 0 0.0.0.0:3307 0.0.0.0:* LISTEN 15027/mysqld
以上命令僅供參考:如有好的方法、不足可以一起交流。O(∩_∩)O~~