企业案例:开发mysql单实例启动停止脚本
分析:
- 首先确保已经将数据库安装成功
- 找到mysql数据库启动的实质命令 mysqld_safe --user=mysql &
- 找到mysql数据库停止的实质命令 mysqladmin -u"root" -p"password" shutdown
- 进行脚本开发进行脚本开发
数据库安装
数据库安装请参照:https://blog.csdn.net/yuki5233/article/details/81736439
找到相关命令
[root@myhost ~]# which mysqld_safe
/usr/local/mysql/bin/mysqld_safe
#/usr/local/mysql/bin/mysqld_safe --user=mysql &
[root@myhost ~]# which mysqladmin
/usr/local/mysql/bin/mysqladmin
#/usr/local/mysql/bin/mysqladmin -u"root" -p"password" shutdown
开发脚本
[root@myhost ~]# cat /home/script/mysql_01.sh
#!/bin/sh
#加载/etc/profile 配置文件,引入环境变量等
source /etc/profile
#加载 /etc/init.d/functions配置文件,引入linux函数库
source /etc/init.d/functions
#define variables (定义相关变量)
mysql_path="/usr/local/mysql"
mysql_user="root"
mysql_passwd="root123456"
mysql_port="3306"
############################################################################################
function mysql_usage(){
echo "$0 {start|stop|restart|status}"
exit 1
}
function mysql_start(){
echo "Starting mysql......"
${mysql_path}/bin/mysqld_safe --user=mysql & >/dev/null 2>&1 &
if [ $? -eq 0 ];
then
sleep 3
action "start mysql" /bin/true
else
sleep 3
action "start mysql" /bin/false
fi
}
function mysql_stop(){
echo "Stopping mysql......"
${mysql_path}/bin/mysqladmin -u ${mysql_user} -p ${mysql_passwd} shutdown
if [ $? -eq 0 ];
then
sleep 3
action "stop mysql" /bin/true
else
sleep 3
action "stop mysql" /bin/false
fi
}
function mysql_status {
port_line=`netstat -lntup|grep ${mysql_port}|wc -l`
if [ ${port_line} -ge 1 ];
then
echo "mysql is running."
else
echo "mysql is not running."
fi
}
############################################################################################
if [ "$1" == "start" ];then
mysql_start
elif [ "$1" == "stop" ];then
mysql_stop
elif [ "$1" == "status" ];then
mysql_status
elif [ "$1" == "restart" ];then
#重启mysql即先停止mysql,再启动mysql (包含两个步骤)
mysql_stop
mysql_start
else
mysql_usage
exit 1
fi