1、分库备份 !/bin/bash image.png 2、分库分表备份 !/bin/sh image.png [ ! -d $MYDIR ] && mkd...
1、 !/bin/bash image.png 2、 !/bin/bash image.png 3、 image.png 4、 image.png
/bin/bash mysql_host="localhost" mysql_user="xxxx" mysql_pwd="xxxxx" #保存备份sql的文件路径 db_dir="/data/backup...-d $db_dir];then # mkdir $db_dir #fi db_arr=$(echo 'show databases' | mysql -u$mysql_user -p$...mysql_pwd -h$mysql_host) #获得当前日期 date=$(date +%Y%m%d) ziname=$date".zip" #指定的数据库文件 thisdb="zzaly"...date".sql" for dbname in ${db_arr} do if [ $thisdb == $dbname ];then mysqldump -u$mysql_user...-p$mysql_pwd -h$mysql_host $dbname > $db_dir"/"$sqlfile fi done find $db_dir -mtime +5 -type f |
案例需求 写一个mysql binlog备份脚本,要求每天0点0分,计算机自动备份前一天的binlog日志,打包后发送给备份服务器。...脚本应用场景: 文件备份 解决问题 日常文件备份 日常数据备份 脚本思路 1、确定binlog的位置及备份时间间隔 每天 当前要备份的binlog是谁 .../bin/bash #Description: #Author: www.zutuanxue.com #Created Time: #将mysql的binlog日志备份到备份服务器 ######...##variables db_user='root' db_password='' log='/var/log/mysql_backup.log' ###main #获得信息 binlog_dir...='/var/lib/mysql' current_binlog=`mysql -u $db_user -e "show master status"|egrep "binlog.
每天固定时间用mysqldump 备份mysql数据。 #!.../bin/bash 每天早上4点, mysql备份数据 orangleliu chmod 700 backup.sh crontab -e 0 4 * /home/erya/run/moniter/...mysql_backup.sh user="radius" password="" host="localhost" db_name="radius" backup directory base_dir...="/home/backup" backup_log="${base_dir}/mysql_backup.log" backup_path=${base_dir} file info date=$(date
FILE_NAME echo finish backup 从备份的文件恢复数据库 #db restore abc gunzip < /backupfiledir/12082917.sql.gz | mysql...=3336 --host=10.10.20.1 --database=test 在备份时出现mysqldump: Error: Binlogging on server not active时,是因为mysql...的binlog没有启动,在mysql的my.ini文件中[mysqld]下面添加 log-bin=mysql-bin 然后重新启动mysql服务,问题就解决
如何实时查看数据信息呢,方式多的去了,但是还是脚本最为方便。 脚本导出到文件中demo示例 新建export.sh #!...# 端口号 MYSQL_PORT=3306 mysql -u${MYSQL_USER} -p${MYSQL_PWD} -P${MYSQL_PORT} -h${MYSQL_HOST} -D${MYSQL_NAME...character_set_client = utf8; set character_set_results = utf8; set character_set_connection = utf8; $1 EOF 执行脚本...=`mysql -u${MYSQL_USER} -p${MYSQL_PWD} -P${MYSQL_PORT} -h${MYSQL_HOST} -D${MYSQL_NAME} << EOF set character_set_client...json' \ -d "$MSG 配合linux的定时任务 crontab -e编辑新增(linux最小单位是分钟,如下表示1分钟执行一次) */1 * * * * sh /usr/local/shell
二.使用 适用:centos6+ 语言:中文 注意:请先写一个脚本来启动java等程序 1.下载 git clone https://gitee.com/mo-shan/analysis_binlog...并按照次数大小排序(默认insert) 注: 其他参数使用请参见帮助手册 bash analysis_binlog -h 2.配置了环境变量使用 analysis_binlog -bfile=/data/mysql.../binlog/3306/mysql-bin.000798,/data/mysql/binlog/3306/mysql-bin.000799 -w=2 -t=simple -s=update 未配置环境变量使用...bash bin/analysis_binlog -bfile=/data/mysql/binlog/3306/mysql-bin.000798,/data/mysql/binlog/3306/mysql-bin.../binlog/3306/mysql-bin.000808 --binlog2sql -sw=table --start-datetime="2019-04-21 9:27:10" --stop-datetime
对于自动化运维,诸如备份恢复之类的,DBA经常需要将SQL语句封装到shell脚本。本文描述了在Linux环境下mysql数据库中,shell脚本下调用sql语句的几种方法,供大家参考。...1、将SQL语句直接嵌入到shell脚本文件中 --演示环境 [root@SZDB ~]# more /etc/issue CentOS release 5.9 (Final) Kernel \r on...脚本中MySQL提示符下调用SQL [root@SZDB ~]# more shell_call_sql2.sh #!...Outfile disabled. current_date() 2014-10-14 id val 2 robin 5、shell脚本中变量输入与输出 [root@SZDB ~.../shell_call_sql4.sh Current count is : 1 #以上脚本演示中,作抛砖引玉只用,对于输出的结果不是很规整友好,需要进一步改善和提高。
批量脚本内容 #!...DB_DATA=`mysql...done 执行cron #进入定时任务编辑页面 crontab -e #写入定时计划 5 9 * * * /bin/bash /www/wwwroot/cpacks/shell
/bin/bash Check MySQL_Slave Status MySQL version: 5.6.27 MySQL_PORT=netstat -an|grep "LISTEN"|grep "3306
[TOC] 0x00 前言说明 描述:本文章是为了记录在日常MySQL运维中对数据库进行操作处理的Shell脚本编写,做一个备份说明; 0x01 备份 1.Mysql数据库备份自动删除 #!...\/backup\/\1.sql#g"|cmd #分表备份: mysql -uroot -p123456 -e "use demo;show tables" | findstr "u w" 相关脚本:...#shell脚本 #!...do mysqldump -uroot -p123456 --events -B $down|gzip > /opt/back/${down}_bak.sql.gz done #bat脚本.../backup/%%v.sql.gz echo "备份完成" del /s /f /q data.txt WeiyiGeek. 0x02 主从相关 1.主从库一键自动化主从复制脚本 #(1)模式主从同步的步骤
shell脚本介绍: Shell脚本结构和执行: 开头(首行)需要加: #!/bin/bash 这里是指文件使用的是bash语法,通过/bin/bash解释器来执行的。 ...以#开头的行作为解释说明: 脚本的名字以.sh结尾,用于区分这是一个shell脚本 执行.sh脚本方法有两种: 1先给.sh脚本添加x权限: chmod +x 1.sh .sh脚本的绝对路径回车:.../root/1.sh 2bash(bash=sh)执行.sh脚本: bash 1.sh 查看脚本执行过程: sh -x 1.sh 检测shell脚本的语法错误: sh -n 1.sh date命令用法...month" //显示下一月的日期 date +%Y%m%d --date="-1 year" //显示前一年的日期 date +%Y%m%d --date="+1 year" //显示下一年的日期 shell...脚本中的变量: 1.
/bin/sh # 备份数据库 # Mysql 用户名密码 MYSQL_USER=root MYSQL_PASS=root BACKUP_DIR=/data/backup/mysql DATA_DIR...| mysql -u$MYSQL_USER -p$MYSQL_PASS -Bs) # 当前日期 DATE=$(date -d '+0 days' +%Y%m%d%H%M) # 打包名称 ZIP_NAME...="mysql_"$DATE".gz" # 删除一个月之前的数据库备份 find $BACKUP_DIR -name "mysql_*.gz" -type f -mtime +30 -exec rm...-p$MYSQL_PASS $DBNAME > $DATA_DIR/$SQL_FILE done # tar打包所有sql文件 tar -czvPf $BACKUP_DIR/$ZIP_NAME $...然后使用 crontab 设置该脚本定时执行: crontab -e 设置为凌晨 3 点执行: 0 3 * * * /root/backup_mysql.sh ----
本脚本就是把这个功能封装了一下. 本脚本配合定时任务使用更佳. 1....使用例子 先配置对应的服务器IP账号密码 image.png 直接执行脚本就行(建议放后台, 最好是加个定时任务, 判断脚本挂了就重新执行) image.png 测试数据 image.png 检查当前的...脚本 脚本如下: #!.../bin/env bash #write by ddcw at 2021.06.29 #不支持备份到远处, 你可以在要保存的服务器上运行本脚本 #mysqlbinlog和mysql命令需要配置在环境变量里...和mysqlbinlog命令 which mysql >/dev/null 2>&1 || exits "no command mysql in env" which mysqlbinlog >/dev
关于使用脚本来抽取实例信息,来来回回更新了几版,之前的链接如下: 通过shell脚本检测MySQL服务信息 使用shell脚本得到MySQL实例列表 新版本的信息更完整,更全面了,值得吐槽的就是,写shell...脚本内容如下: #!...5720 /data/mysql_5720/tmp/mysql.sock 1 268435456 OFF /data/mysql_5720/data/ utf8 2025720 5.7.16-10-log...7 READ-COMMITTED 16080 1024 5.1 5721 /data/mysql_5721/tmp/mysql.sock 1 268435456 OFF /data/mysql_5721.../data/mysql_5723/tmp/mysql.sock 1 268435456 OFF /data/mysql_5723/data/ utf8 2025723 5.7.16-10-log 7
/bin/sh bk_to="/var/mysql-backup-`date +%Y-%m-%d-%k-%M-%S |tr -d ' '`" user_name="root" user_pw="dev"...sql=" flush tables with read lock; system cp -pR /var/lib/mysql $bk_to; unlock tables; " mysql -u
一.简介 源码地址 日期:2019/12/19 介绍:较两个mysql实例的配置是否一致,支持比较配置文件,也支持比较系统变量的值 效果图: 二.使用 适用:centos6+ 语言:中文 注意:无...下载 wget https://gitee.com/mo-shan/check_mysql_conf/raw/master/check_mysql_conf_diff.sh 对比系统变量 脚本的opt变量必须是...system mysql连接配置需要用户自己定义 配置好直接执行如下命令 bash check_mysql_conf_diff.sh 对比配置文件 脚本的opt变量必须是conf 配置好直接执行如下命令...,其中配置文件必须存在,建议是绝对路径,效果如下图 效果如下图 bash check_mysql_conf_diff.sh /data/mysql/etc/3306/my.cnf /data/mysql
要做梳理,我们就需要明确实例的基本信息,所以我写了一个初步的脚本,从进程的描述信息中抓取实例的信息,然后过滤得到需要的一些属性,比如端口和socket配置。...脚本内容如下: ps -ef|grep mysql |grep -w mysqld|grep -v grep > mysqllist_ps.tmp awk -F'--' '{for (i=2;i<=NF
今天改了一版脚本,对于MySQL的基本信息的获取有了一个相对比较清晰的收集方式。 我简单解释下脚本。...整体是分为两部分 第一部分是通过系统层面来解析MySQL的基本信息,方式是通过ps -ef|grep mysql得到的信息来解析。...第二部分是通过登录MySQL得到的信息,基本信息包括server_id,log_bin等。...脚本内容如下: ps -ef|grep mysql |grep -w mysqld|grep -v grep |awk -F'--' '{for (i=2;i<=NF;i++) {printf $i"...get_info_from_db() { while read line do port=`echo $line|awk '{print $1}'` #echo $port /usr/local/mysql
领取专属 10元无门槛券
手把手带您无忧上云