MySQL启动脚本

今天在公司,上午搞了一个小时,MySQL单实例启动脚本搞定。

[[email protected] scripts]# cat test3.sh 
#!/bin/bash
RETVAL=0
. /etc/init.d/functions
basedir=/application/mysql-5.5.32/bin
datadir=/application/mysql-5.5.32/data
PSD=123.com
 
hostname=`hostname`
menu(){
cat <<END
======================
    1.start
    2.stop
    3.restart
    4.exit
======================
END
}
start(){
     if [ -f ${datadir}/${hostname}.pid ]
        then
           action "MySQL running..." /bin/false
        else
           ${basedir}/mysqld_safe --defaults-file=/etc/my.cnf --user=root >/dev/null 2>&1 &
           sleep 2
           action "stutting start MySQL" /bin/true 
     fi
}
stop(){
     if [ -f ${datadir}/${hostname}.pid ]
        then
           ${basedir}/mysqladmin -uroot -p${PSD} shutdown
           sleep 2
           action "MySQL stoping..." /bin/true 
        else
           action "MySQL stoping..." /bin/false
     fi
}
restart(){
     if [ -f ${datadir}/${hostname}.pid ]
         then
            ${basedir}/mysqladmin -uroot -p${PSD} shutdown
            action "MySQL stop..." /bin/true
            sleep 2
            ${basedir}/mysqld_safe --defaults-file=/etc/my.cnf --user=root >/dev/null 2>&1 &
            sleep 2
            action "MySQL start..." /bin/true
         else
            action "MySQL stop..." /bin/false
            ${basedir}/mysqld_safe --defaults-file=/etc/my.cnf --user=root >/dev/null 2>&1 &
            sleep 2
            action "MySQL start..." /bin/true
     fi
return $RETVAL
}
exit(){
     exit 1
}
main(){
while true
do
     menu
     read -p " MySQL masterserver :" men
     case "$men" in
        start)
           start
           RETVAL=$?
           ;;
        stop)
           stop
           RETVAL=$?
           ;;
        restart)
           restart
           RETVAL=$?
           ;;
        exit)
           exit
           ;;
        *)
           printf "choice menus error {start|stop|restart}"
           exit 1
     esac
done
exit $RETVAL
}
main

[[email protected] scripts]# sh test3.sh
======================
    1.start
    2.stop
    3.restart
    4.exit
======================
 MySQL masterserver :start
MySQL running... [FAILED]
======================
    1.start
    2.stop
    3.restart
    4.exit
======================
 MySQL masterserver :stop
MySQL stoping... [  OK  ]
======================
    1.start
    2.stop
    3.restart
    4.exit
======================
 MySQL masterserver :start
stutting start MySQL [  OK  ]
======================
    1.start
    2.stop
    3.restart
    4.exit
======================
 MySQL masterserver :restart
MySQL stop... [  OK  ]
MySQL start... [  OK  ]
======================
    1.start
    2.stop
    3.restart
    4.exit
======================
 MySQL masterserver :exit

[[email protected] scripts]#

我相信,我行的。能力与年龄无关--新华德瑞-运维处 老大 方小华教诲-虽然只有短短相处几天,但您很幽默,从毕业走来,从好多人身上学到很多东西。比较让自己成长的就是在联龙博通的日子吧,虽然每个月扣工资扣的还是心里不爽

时间: 2025-01-15 06:04:04

MySQL启动脚本的相关文章

企业级通过shell脚本开发MySQL启动脚本 案例

企业Shell面试题10:开发MySQL启动脚本说明MySQL启动命令为:/bin/sh mysqld_safe --pid-file=$mysqld_pid_file_path 2>&1 > /dev/null &停止命令为:mysqld_pid=`cat "$mysqld_pid_file_path"`if (kill -0 $mysqld_pid 2>/dev/null)  then    kill $mysqld_pid    sleep 2f

多实例MySQL启动脚本

开发mysql多实例启动脚本: 已知mysql多实例启动命令为:mysqld_safe–defaults-file=/data/3306/my.cnf & 停止命令为:mysqladmin -u root -p123456 -S /data/3306/mysql.sock shutdown 要求:用函数,case语句.if语句等实现. #!/bin/sh [ -f /etc/init.d/functions ]&&. /etc/init.d/functions||exit #Def

mysql启动脚本详解

1 #!/bin/sh 2 # Copyright Abandoned 1996 TCX DataKonsult AB & Monty Program KB & Detron HB 3 # This file is public domain and comes with NO WARRANTY of any kind 4 5 # MySQL daemon start/stop script. 6 7 # Usually this is put in /etc/init.d (at lea

老鸟带你开发专业规范的MySQL启动脚本

每一个合格的Linux运维人员都应该做到熟练或精通Shell脚本编程,因为Shell脚本语言差不多是所有编程语言里最简单的语言,如果Shell脚本不行,意味着运维之路可能还没开始就将要终结.--老男孩老师 #!/bin/bash # chkconfig: 2345 64 36 #配置系统自启动 # description: A very fast and reliable SQL database engine. #########################################

mysql,mairadb启动脚本

# mysql 启动脚本,一直使用mariadb,data目录一直不对,启动一直出错,自己编写的一个小脚本 # 适用于el6 systemd脚本  如果用ansible 使用service启动会报错,可以将service定义成脚本然后再使用ansible启动服务 #!/bin/bash # MySQL daemon start/stop script. #   Name:mysql 启动脚本 #   Version Number:1.0.5 #   Type:检测服务状态 #   Languag

通过Shell开发企业级标准服务启动脚本案例(MySQL)

老男孩教育Linux高端运维班Shell课后必会考试题: 企业Shell面试题10:开发企业级MySQL启动脚本 说明: MySQL启动命令为: /bin/sh mysqld_safe --pid-file=$mysqld_pid_file_path 2>&1 >/dev/null & 停止命令逻辑脚本为: mysqld_pid=`cat "$mysqld_pid_file_path"` if (kill -0 $mysqld_pid 2>/dev/n

linux shell 之尝试编写 企业级 启动脚本

企业Shell面试题10:开发企业级MySQL启动脚本 说明: MySQL启动命令为: 1 /bin/sh mysqld_safe --pid-file=$mysqld_pid_file_path 2>&1 >/dev/null & 停止命令逻辑脚本为: 1 2 3 4 5 6 mysqld_pid=`cat "$mysqld_pid_file_path"` if (kill -0 $mysqld_pid 2>/dev/null)   then    

linux下mysql启动与停止

mysql.启动与停止   1.启动   MySQL安装完成后启动文件mysql在/etc/init.d目录下,   在需要启动时运行下面命令即可.   [[email protected] init.d]# /etc/init.d/mysql start   2.停止 /usr/bin/mysqladmin -u root -p shutdown   3.自动启动   1)察看mysql是否在自动启动列表中   [[email protected] local]# /sbin/chkconfi

MySQL的启动脚本

自己写的MySQL的启动脚本 脚本一: #!/bin/sh . /etc/init.d/functions [ $# -ne 1 ] && { echo "USAGE:{start|stop|restart}" exit 1 } start(){ if [ -e /data/3307/mysqld.pid ] then echo "MySQL is running." else /application/mysql/bin/mysqld_safe -