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

原文地址:https://blog.51cto.com/yuanshuai/2484845

时间: 2024-08-04 01:29:23

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

MySQL运维-多实例部署

MySQL多实例是在同一台数据库服务器上,通过开启多个不同的服务端口,并被对应的socket监听,以实现同时运行多个MySQL服务进程的目的. 实验环境使用<MySQL运维-单实例安装>部署成功后的实验环境mysql实例1安装目录:/data/3306mysql实例1数据文件目录:/data/3306/dbfilemysql实例2安装目录:/data/3307mysql实例2数据文件目录:/data/3307/dbfile 停止MySQL []# service mysqld stopShut

搭建稳固的MySQL运维体系

本课时主要包含 MySQL 监控要点.MySQL SQL 审核执行.MySQL 备份恢复等内容. MySQL 监控要点 首先我们来学习 MySQL 监控要点,主要涉及服务器和 MySQL 两个方向的监控告警. 在这两个监控告警方向需要重点关注监控策略.监控趋势图及报警方式. 监控策略指的是每个监控项的告警阈值,例如 threads_running > 30 触发报警. 监控趋势图指的是对每个时间点,项目所采集数据的图形展现,基于历史数据的比对能够快速发现异常的监控项. 报警方式则按需配置,Ema

mysql运维必会的一些知识点整理

(1)基础笔试命令考察 1.开启MySQL服务 /etc/init.d/mysqld start service mysqld start systemctl start mysqld 2.检测端口是否运行 lsof -i :3306 netstat -lntup |grep 3306 3.为MySQL设置密码或者修改密码 设置密码 mysql -uroot -ppassword -e "set passowrd for root = passowrd('passowrd')" mys

公司没有 DBA,Mysql 运维自己来

目录   一.虚拟机部署  二.基本运维  三.配置  四.常见问题  五.脚本  参考资料 如果你的公司有 DBA,那么我恭喜你,你可以无视 Mysql 运维.如果你的公司没有 DBA,那你就好好学两手 Mysql 基本运维操作,行走江湖,防身必备. 环境:CentOS7 版本: 一.虚拟机部署 本文仅介绍 rpm 安装方式 安装 mysql yum 源 官方下载地址:https://dev.mysql.com/downloads/repo/yum/ (1)下载 yum 源 $ wget ht

mysql 运维常见操作

初始安装并赋予密码: [[email protected] html]# yum install -y mysql mysql-server                         #安装mysql可与段与服务器端 [[email protected] ~]# /usr/bin/mysqladmin -u root password "gslixiong"         #赋予root管理员密码! 进入数据库更改密码,并解决密码复杂度: mysql> set globa

云计算开发教程:Python自动化运维开发实战流程控制

今天这篇文章是给大家分享一些云计算开发教程,今天讲解的是:Python自动化运维开发实战流程控制. Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块. Python程序语言指定任何非0和非空(null)值为true,0 或者 null为false. if 语句用于控制程序的执行,基本形式为: if 判断条件: 执行语句-- else: 执行语句-- 其中"判断条件"成立时(非零),则执行后面的语句,而执行内容可以多行,以缩进来区分表示同一范

运维人员如何学好shell脚本编程

核心:练-->想-->再练-->再想! 运维人员如何学好shell脚本编程老男孩linux早期毕业的学生谈如何学好shell编程技巧该生毕业后一年任职一家近千人公司的运维经理.目前就职小米科技1.基本语法,敲n+1遍.为什么不是n遍那,因为n遍是你刚开始为了编程而努力的几天,  1是说你以后要每天都要写写想想,至少是要看看.2.各种基本语法,if多种判断都要会,这样做不是为了什么都要学而是为了看懂别人的  代码. 这个要写一段时间,各种都用.3.解决上边说的问题,各种语法都要学的问题,现

【MongDB运维】MongDB自动安装脚本--rpm包安装版

#!/bin/bash # Version:  v1.0 by Jason_Asia on 2014-05-14 # Desc:     auto install mongodb rpm packages software_dir=/home/dba/software/mongodb ##{{{ check mongodb install status mongod_thread_status="`netstat -nltp | grep mongod | wc -l`" if [ $

【redis运维】redis自动安装脚本(只安装redis)

Redis自动安装部署 本文总共分为4个部分: redis自动安装脚本目录结构说明: redis自动安装脚本内容: redis的操作系统服务脚本说明: 本文引用的资料链接地址. 说明:本文未涉及redis内存分配器部分的内容. 第一部分 Redis自动安装脚本目录结构说明: # ls 查看当前目录包含以下3个文件 -- install_redis.sh        # redis自动安装脚本 -- redis-2.8.9.tar.gz      # redis安装包(需make,make te