1.1 MySQL实例的部署情况
01:MySQL程序的安装目录为:/mysql/apps/mysql
02:MySQL实例3306的配置文件为:/mysql/data/3306/my.cnf
03:MySQL实例3306的PID文件为:/mysql/data/3306/mysql.pid
04:MySQL实例3306的socket文件为:/mysql/data/3306/mysql.sock
1.2 MySQL实例的启动方式
启动方式:mysqld_safe --defaults-file=/mysql/data/3306/my.cnf >/dev/null 2>&1 &
关闭方式:mysqladmin -uroot -p密码 -S /mysql/data/3306/mysql.sock shutdown
1.3 MySQL启动脚本的内容
脚本中有root@localhost用户的密码,请脚本权限设置成700,该脚本只能在操作系统的root用户下执行(脚本进行了限制)
#!/bin/bash
#
#
# Define variables
RETVAL=0
Port=3306
User=root
Pass=chenliang
Pid=/mysql/data/$Port/mysql.pid
Sock=/mysql/data/$Port/mysql.sock
My=/mysql/data/$Port/my.cnf
Path=/mysql/apps/mysql/bin
# Determine the user to execute
if [ $UID -ne $RETVAL ];then
echo "Must be root to run scripts"
exit 1
fi
# Load the local functions
[ -f /etc/init.d/functions ] && source /etc/init.d/functions
# Define functions
start(){
if [ ! -f "$Pid" ];then
$Path/mysqld_safe --defaults-file=$My >/dev/null 2>&1 &
RETVAL=$?
if [ $RETVAL -eq 0 ];then
action "Start MySQL [$Port]" /bin/true
else
action "Start MySQL [$Port]" /bin/false
fi
else
echo "MySQL $Port is running"
exit 1
fi
return $RETVAL
}
stop(){
if [ -f "$Pid" ];then
$Path/mysqladmin -u$User -p$Pass -S $Sock shutdown
RETVAL=$?
if [ $RETVAL -eq 0 ];then
action "Stop MySQL[$Port]" /bin/true
else
action "Stop MySQL[$Port]" /bin/false
fi
else
echo "MySQL [$Port] is not running"
exit 1
fi
return $RETVAL
}
status(){
if [ -f "$Pid" ];then
echo "MySQL [$Port] is running"
else
echo "MySQL [$Port] is not running"
fi
return $RETVAL
}
# Case call functions
case "$1" in
start)
start
RETVAL=$?
;;
stop)
stop
RETVAL=$?
;;
restart)
stop
sleep 5
start
RETVAL=$?
;;
status)
status
RETVAL=$?
;;
*)
echo "USAGE:$0{start|stop|restart|status}"
exit 1
esac
# Scripts return values
exit $RETVAL
来源:CSDN
作者:阿 亮
链接:https://blog.csdn.net/weixin_43733154/article/details/104577640