前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >mysql 启动脚本

mysql 启动脚本

作者头像
用户5760343
发布2019-11-12 16:26:07
1.5K0
发布2019-11-12 16:26:07
举报
文章被收录于专栏:sktjsktj

!/bin/bash

chkconfig: 2345 64 36

description: MySQL startup

Author:oldboy

Blog:http://oldboy.blog.51cto.com

Time:2017-07-07 09:24:34

Name:mysqld

Version:V1.0

Description:This is a test script.

[ -f /etc/init.d/functions ] && source /etc/init.d/functions bindir="/application/mysql/bin" datadir="/application/mysql/data" mysqld_pid_file_path="/application/mysql/hostname.pid" PATH="/sbin:/usr/sbin:/bin:/usr/bin:$basedir/bin" #此步对开机启动及定时启动及其关键。 export PATH return_value=0

Lock directory.

lockdir='/var/lock/subsys' lock_file_path="$lockdir/mysql"

log_success_msg(){ echo " SUCCESS!

@" # 注意函数的缩进,下同,也是专业的表现,可放到functions里。 } log_failure_msg(){ echo " ERROR!
@" # 注意函数的缩进,下同,也是专业的表现,可放到functions里。 } log_failure_msg(){ echo " ERROR!

@" }

Start Func

start(){ # Start daemon echo "Starting MySQL" if test -x

bindir/mysqld_safe # 启动文件是否可执行。 then
bindir/mysqld_safe # 启动文件是否可执行。 then

bindir/mysqld_safe --datadir="

datadir" --pid-file="
datadir" --pid-file="

mysqld_pid_file_path" >/dev/null & return_value=$? # 是否处理好返回值是区别脚本是否专业规范的关键。 sleep 2

代码语言:javascript
复制
    # Make lock for CentOS
    if test -w "$lockdir"   # 锁目录是否可写。
    then
        touch "$lock_file_path"  # 创建锁文件。
    fi
    exit $return_value
else
    log_failure_msg "Couldn't find MySQL server ($bindir/mysqld_safe)"
fi

}

Stop Func

stop(){ if test -s "

mysqld_pid_file_path" # 是否PID文件存在并大小大于0。 then mysqld_pid=`cat "
mysqld_pid_file_path" # 是否PID文件存在并大小大于0。 then mysqld_pid=`cat "

mysqld_pid_file_path"`

代码语言:javascript
复制
    if (kill -0 $mysqld_pid 2>/dev/null) # 检查PID对应的进程是否存在。
    then
        echo "Shutting down MySQL"
        kill $mysqld_pid  # 不能带-9,否则后果自负。
        return_value=$?
        sleep 2
    else
        log_failure_msg "MySQL server process #$mysqld_pid is not running!"
        rm -f "$mysqld_pid_file_path"
    fi
    # Delete lock for Oldboy's CentOS
    if test -f "$lock_file_path"
    then
        rm -f "$lock_file_path"
    fi
    exit $return_value
else
    log_failure_msg "MySQL server PID file could not be found!"
fi

} case "

1" in start) start ;; stop) stop ;; restart) if
1" in start) start ;; stop) stop ;; restart) if

0 stop; then $0 start else log_failure_msg "Failed to stop running server, so refusing to try to start." exit 1 fi ;;

代码语言:javascript
复制
*)
    echo "Usage: $0  {start|stop|restart}"
    exit 1

esac exit $return_value #是否处理好返回值是区别脚本是否专业规范的关键。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • !/bin/bash
  • chkconfig: 2345 64 36
  • description: MySQL startup
  • Author:oldboy
  • Blog:http://oldboy.blog.51cto.com
  • Time:2017-07-07 09:24:34
  • Name:mysqld
  • Version:V1.0
  • Description:This is a test script.
  • Lock directory.
  • Start Func
  • Stop Func
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档