一、场景

  在实际生产环境中要求相对较高的企业对于root权限管控相对比较高,故而很多软件并非安装在root用户下(当然root用户权限也可管理,但正常情况下root权限并不会给业务使用方,而会给一个普通账户权限,例如mysql安装在普通用户下,普通用户只能操作用户下的权限。对于安装在普通用户下的mysql或者在root用户下安装了多实例的对于管理尤其是启停则不能使用mysql自带的mysqld start|stop|restart等进行启停,root用户则可以(注:root用户下自定义安装mysql则需要修改MySQLd 文件详细参考另外一篇博文:http://www.cnblogs.com/Steward-Xu/p/6991385.html))

  如果mysql安装至普通用户下如何启停mysql?

二、使用非脚本方式及手工执行mysql命令实现启动、停止。

  1、启动方法:使用mysqld_safe  --defaults-file=/data/mysql/my.cnf

  2、停止方法:mysqladmin  -u root -p'数据库密码' -S $mysql_sock shutdown  这是mysql官方推介使用的停止方式

    或者采用kill 进程号(不采用kill -9)在使用kill 前必须ps -ef | grep mysql 找到进程再用kill 停止进程。(Mysql 自带的脚本mysqld采用的是kill 进程方式停止)

  3、重启方法:必须先停止shutdown或者kill mysql进程才能使用mysqld_safe  --defaults-file=/data/mysql/my.cnf

  4、Mysql是否启动状态查看只能用ps -ef | grep mysql 查看是否有进程存在,有则表示mysql运行;无则表示mysql没有运行。

三、脚本实现:

#!/bin/sh
###################################################
# this script is created by xuxuedong. #
# e_mail:***@qq.com #
# qqinfo:*** #
# This is a script about Mysq startup and stop #
# version:1.1 #
###################################################
. /etc/init.d/functions
port=
mysql_user="root"
mysql_pwd="xuxuedong"
CmdPath="/iddb/mysql3307/bin"
mysql_sock="/iddb/${port}data/mysql.sock"
####start
. /etc/init.d/functions
function_start_mysql()
{
if [ ! -e "$mysql_sock" ]
then
action "starting Mysql...." /bin/true
/bin/sh ${CmdPath}/mysqld_safe --defaults-file=/iddb/mysql3307/my.cnf >& >/dev/null &
else
action "started Mysql." /bin/true
exit
fi
} function_status_mysql()
{
if [ ! -e "$mysql_sock" ]
then
echo " mysql is running!!!"
else
echo " mysql is not running!!!"
exit
fi
}
#####stop
function_stop_mysql()
{
if [ ! -e "$mysql_sock" ]
then
action "stoped Mysql...." /bin/true
else
${CmdPath}/mysqladmin -u ${mysql_user} -p'xuxuedong' -S $mysql_sock shutdown
sleep ;
[ -eq $? ]&& action "stop Mysql." /bin/true
fi
}
case $ in
start)
function_start_mysql
;;
stop)
function_stop_mysql
;;
status)
function_status_mysql
;;
restart)
function_stop_mysql
sleep ;
function_start_mysql
;;
*)
echo "USAG:start|stop|restart|status"
;;
esac

/iddb/mysld_start

  脚本使用方法:

  在普通用户下使用  sh  /iddb/mysql_start   start|stop|restart|status 可实现启停和状态查询

  也可在授权/iddb/mysql_start 为可执行及755情况下 使用/iddb/mysql_start   start|stop|restart|status实现启停和状态查询

mysql自己编写启停脚本的更多相关文章

  1. case编写的httpd简单启停脚本

    case编写的httpd简单启停脚本 #!/bin/bash HTTPD="/etc/init.d/httpd" . /etc/init.d/functions case &quo ...

  2. Linux 程序启停脚本

    start.sh #!/bin/sh java -jar ./program.jar & echo $! > /var/run/program.pid stop.sh #!/bin/sh ...

  3. linux下的启停脚本

    linux下的根据项目名称,进行进程的启停脚本 #!/bin/bash JAVA=/usr/bin/java APP_HOME=/opt/program/qa/wechat APP_NAME=prog ...

  4. python启停脚本的编写

    先占个位置,打算记录一下启停python 的脚本start.sh,stop.sh的写法. 内容包括启动python脚本的方式,日志的重定向,获取进程id,以及杀掉进程. 参考文章: http://bl ...

  5. nginx启停脚本

    安装nginx时,源码包中未带官方的启动脚本,也就无法使用service nginxd start这种启动方式,查了下资料自己写了一个: #!/bin/bash #@version: #@author ...

  6. Oracle EBS R12的启停脚本

    以下脚本用root用户登录执行: 一.DB启停使用EBS提供的脚本ebs_start.shsu - oraprod -c "/d01/oracle/PROD/db/tech_st/10.2. ...

  7. Oracle BIEE启停脚本

    作为BI的开发人员,经常启停BI服务在所难免,启动的过程又比较长,命令需要不同目录切换,简直烦死人呢, 特意整理了linux中的启动脚本,将以下脚本存成biee.sh,后面的过程就相当简单了, 启动: ...

  8. liunx weblogic服务启停脚本

    #!/bin/bash #sh xx.sh start xx项目 例如:sh autoWeblogic.sh start bius #经测试发现weblogic 启动大概需要完全启动成功35秒左右 停 ...

  9. [sql]mysql启停脚本

    写了个较为完善的mysql多实例的启动停止脚本. [root@lanny 3307]# cat mysql #!/bin/sh [ $# != 1 ]&&{ echo "US ...

随机推荐

  1. Ubuntu16.04 安装cuda9.0 cudnn 7.0.5

    参考网址:https://blog.csdn.net/zhuangwu116/article/details/81063234 (1)下载安装文件: 下载cuda9.0 runfile 文件 下载地址 ...

  2. 24.如何结束返回值是void的方法

    如何结束返回值是void的方法? return;只能够出现在方法类型是void 的方法中,用来结束方法. return后面还可以跟数据,后面的数据可以是整数.字符串.false.ture.小数.主要看 ...

  3. 配置web应用

    web应用配置虚拟主机1.web应用的虚拟路径映射,就是web应用的真实存在的路径配置一个虚拟路径 在conf目录下的Server.xml 的<Host>标签中,配置<Context ...

  4. vim vi Ubuntu 设置

    1. 在vi编辑模式下按退格键不能删除内容,按方向键不能上下左右移动?如果是则:一 在vi里非编辑模式下按冒号进入到末行命令模式,然后输入set nocompatible,回车,然后在进入vi编辑模式 ...

  5. pdf2swf 转换时报This file is too complex to render- SWF only supports 65536 shapes at once

    ERROR   ID Table overflow ERROR   This file is too complex to render- SWF only supports 65536 shapes ...

  6. [转]git merge 跟 git merge -no-ff

    根据这张图片可以看出 git merge –no-ff 可以保存你之前的分支历史.能够更好的查看 merge历史,以及branch 状态. git merge 则不会显示 feature,只保留单条分 ...

  7. D - Opponents

    Description Arya has n opponents in the school. Each day he will fight with all opponents who are pr ...

  8. TypeScript完全解读(26课时)_12.TypeScript完全解读-高级类型(1)

    12.TypeScript完全解读-高级类型(1) 高级类型中文网的地址:https://typescript.bootcss.com/advanced-types.html 创建新的测试文件 ind ...

  9. Qt-MVC图形视图框架分解

    前面在<Qt-MVC图形视图框架出识>中我们了解了Qt图形视图框架中三个最基本的类,弄清他们的关系,本片小文,我们将对QGraphicsView,QGraphiceScene,QGraph ...

  10. JQuery Easyui/TopJUI 多表头创建

    JQuery Easyui/TopJUI 多表头创建 废话不多说,直接贴上代码. html <div data-toggle="topjui-layout" data-opt ...