mysql脚本编写与案例_MySQL运维-3,多实例控制脚本的编写与使用

实验环境

此文章在《MySQL运维-2,多实例部署》后,所用环境也是上一篇实验部署成功后的实验环境。

使用方法

1,编写脚本,命名为mysqld,让其有执行权限

2,拷贝mysqld到不同实例的目录中

[]# tree -L 2 /data/

/data/

├── 3306

│?? ├── dbfile

│?? ├── my.cnf

│?? └── mysqld

└── 3307

├── dbfile

├── my.cnf

└── mysqld

3,修改mysqld中的端口,让其与所属实例相同

4,带参数执行

[]# /data/3306/mysqld start

MySQL is starting...

[]# /data/3306/mysqld stop

MySQL is stopping...

5,脚本写入/etc/rc/local,使其开启自动运行

[]# vim /etc/rc.local

/data/3306/mysqld start

/data/3307/mysqld start

脚本内容

[]# vim /data/3306/mysqld

#/bin/sh

m_user=‘root‘ //定义使用哪个用户控制MySQL

m_password=‘1qaz3edc‘ //定义控制MySQL的用户密码

m_port=‘3306‘ //定义MySQL的端口号,用于区分是哪个实例,主要修改此变量

m_cmddir=‘/app/mysql/bin‘ //定义MySQL的环境目录

#start_function //定义启动MySQL的函数

function_mysql_start()

{

if [ -e /data/${m_port}/mysql.sock ];then

printf ‘MySQL is running...\n‘

exit 1

else

printf ‘MySQL is starting...\n‘

${m_cmddir}/mysqld_safe --defaults-file=/data/${m_port}/my.cnf 2>&1 >/dev/null & //核心命令,启动MySQL

//注意gt;是大于号,51cto无法正常显示大于号。

fi

}

#stop_function //定义关闭MySQL的函数

function_mysql_stop()

{

if [ -e /data/${m_port}/mysql.sock ];then

printf ‘MySQL is stopping...\n‘

${m_cmddir}/mysqladmin -S /data/${m_port}/mysql.sock -u${m_user} -p${m_password} shutdown //核心命令,关闭MySQL

else

printf "MySQL is stoped...\n"

exit 1

fi

}

#do it //针对不同的参数,引用不同的函数。

case $1 in

start)

function_mysql_start

;;

stop)

function_mysql_stop

;;

*)

printf "arguments is error,please enter start or stop。"

;;

esac

MySQL运维-3,多实例控制脚本的编写与使用

标签:变量   启动   修改   拷贝   写入   区分   run   soc   null

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:https://blog.51cto.com/yuanshuai/2484845

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值