由于换了一家新的公司,在熟悉业务的过程当中,避免对公司服务器上的服务造成不必要的影响,我选择了在本地的虚拟机上部署了一套系统进行业务的学习。在执行安装MySQL的过程中,在项目的文件中找到了一个安装MySQL的脚本,在上面死磕了一天,还是有一点收获的。下班前,自己尝试着写了一个简单的重启MySQL服务的脚本。具体如下:
1.创建一个脚本文件:
touch start_mysql.sh
2.使用vi进行编辑
#/bin/bash
#This shell is using to restart the mysqld.service
function start_mysql(){
smysql=`systemctl status mysqld.service|awk -F 'since' 'NR==3{print $1}'`
if [ "$smysql" = " Active: active (running) " ]
then
echo "The Mysql_service is running!"
else
echo "The Mysql_service is not running!"
while true
do
read -p "Please select type between 0 [exit] and 1[start the mysql_service]" TYPE
case $TYPE in
0)
exit
;;
1)
echo "The service is starting ..."
systemctl start mysqld.service
systemctl status mysqld.service|awk -F 'since' 'NR==3{print $1}'
break
;;
*)
echo "Please select type between 0 [exit] and 1[start the mysql_service] "
;;
esac
done
fi
}
start_mysql
3.编辑完成后,进行保存;并对其进行赋权(可执行)
chmod a+x start_mysql
chmod 755 start_mysql
4.然后执行便OK了
解释:安装MySQL后,可以通过如下的几个命令进行查看MySQL服务的状态和启停MySQL服务。
systemctl status mysqld.service
查看MySQL服务的状态 systemctl stop mysqld.service 停止MySQL服务
systemctl start mysqld.service
启动MySQL服务
systemctl restart mysqld.service
重启MySQL服务
systemctl status mysqld.service|awk -F 'since' 'NR==3{print $1}
表示执行systemctl status mysqld.service命令的结果输出作为文本文件,通过awk进行处理,awk -F ‘since’ 'NR==3{print $1}'表示将输出的文本以‘since’为分隔符进行拆分,并取第三行的第一个数据字段
awk:是Linux处理文本的工具,常用的用法可参考:awk详解