欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 汽车 > 新车 > Shell篇之编写MySQL启动脚本

Shell篇之编写MySQL启动脚本

2024/10/25 4:20:26 来源:https://blog.csdn.net/xu710263124/article/details/142334482  浏览:    关键词:Shell篇之编写MySQL启动脚本

Shell篇之编写MySQL启动脚本

1. 脚本内容

vim mysql_ctl.sh
#!/bin/bashmysql_port=3306
mysql_username="root"
mysql_password="molinker"
mysql_conf="/opt/lanmp/mysql/etc/my.cnf"
mysql_sock="/opt/lanmp/mysql/var/mysql.sock"function_start_mysql(){printf "Starting MySQL ...\n"/bin/sh /opt/lanmp/mysql/bin/mysqld_safe --defaults-file=${mysql_conf} 2>&1 > /dev/null &
}function_status_mysql(){
mysql_stat=0
mysql_tmpa=`ps -ef | grep mysql | grep -v root | awk '{print $2}'`
name="`hostname`.pid"
mysql_tmpb=`cat /opt/lanmp/mysql/var/$name`
if [ `lsof -i:20036 | wc -l` -gt 0 ]; thenif [ `ps -ef | grep mysql | grep -v grep | wc -l` -gt 0 ]; thenif [ $mysql_tmpa -eq $mysql_tmpb ]; thenmysql_stat=1fifi
fiif [ $mysql_stat -eq 1 ]; thenecho "mysql(pid $mysql_tmpb) is runing!"
elif [ $mysql_stat -eq 0 ]; thenecho "mysql is not runing!"
fi
}function_stop_mysql(){printf "Stopping MySQL ...\n"/opt/lanmp/mysql/bin/mysqladmin --port=${mysql_port} --user=${mysql_username} --password=${mysql_password} --socket=${mysql_sock} shutdown
}function_restart_mysql(){printf "Restarting MySQL ...\n"function_stop_mysqlsleep 1function_start_mysql
}function_kill_mysql(){ps -ef | grep "mysqld_safe" | grep -v grep | awk '{print "kill -9 " $2}' | /bin/shps -ef | grep "mysqld" | grep -v grep | awk '{print "kill -9 " $2}' | /bin/sh
}if [ "$1" = "start" ]; thenfunction_start_mysql
elif [ "$1" = "stop" ]; thenfunction_stop_mysql
elif [ "$1" = "status" ]; thenfunction_status_mysql
elif [ "$1" = "restart" ]; thenfunction_restart_mysql
elif [ "$1" = "kill" ]; thenfunction_kill_mysql
elseprintf "Usage: mysql {start|stop|restart|kill|status}\n"
fi

注意事项

mysql_conf:为MySQL对应配置文件路径
mysql_sock:为MySQL对应socket文件

2. 赋权

chmod +x mysql_ctl.sh

3. 命令

./mysql_ctl start
./mysql_ctl status
./mysql_ctl restart

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com