首页 > 数据库 >MySQL备份脚本.241217

MySQL备份脚本.241217

时间:2025-01-03 16:23:36浏览次数:1  
标签:bin logs -- 备份 MySQL 241217 mysql BACKUPPORT backup

MYSQL备份,每天全量备份(排除由于GTID的缘故造成恢复问题的系统库),然后通过Gzip进行压缩。

#!/bin/bash

#DEFINE VARIABLES
BACKUPUSER=root
BACKUPPASS=root密码 
BACKUPPORT=mysql端口
#BACKUPSOCKET=/home/data/$BACKUPPORT/logs/mysql.sock
BACKUPIP=localhost
MYSQL=/usr/local/mysql/bin/mysql
MYSQLDUMP=/usr/local/mysql/bin/mysqldump
#CONFIG_FILE=/home/data/$BACKUPPORT/conf/my.cnf
BINLOGPATH=/home/dbbak/logs
BACKUPPATH=/home/dbbak/backupdb
DEL_DIRECTORY=`date +%Y%m%d -d "-14 day"`
BACKUPDATE=`date +%Y%m%d`

mkdir $BACKUPPATH/$BACKUPDATE

#connection  to mysql db
mycmd="$MYSQL -u$BACKUPUSER -p$BACKUPPASS -h$BACKUPIP -P$BACKUPPORT"

#backup metadata
DUMP_Table="$MYSQLDUMP -u$BACKUPUSER -p$BACKUPPASS -h$BACKUPIP  -P$BACKUPPORT  -R --events -d"

# backup database for InnoDB
DUMP_InnoDB="$MYSQLDUMP -u$BACKUPUSER -p$BACKUPPASS -h$BACKUPIP -P$BACKUPPORT   --flush-privileges --single-transaction --master-data=2 --set-gtid-purged=OFF --triggers -f -R -E --hex-blob
 "

# backup database for MyISAM
DUMP_MYISAM="$MYSQLDUMP -u$BACKUPUSER -p$BACKUPPASS -h$BACKUPIP -P$BACKUPPORT   --flush-privileges --lock-all-tables --master-data=2 --triggers -f -F -R -E --hex-blob "

echo  `date +%F" "%r` "Start backup  Mysql  databases" >> $BINLOGPATH/$BACKUPDATE.log


#flush logs
$mycmd -e 'flush logs'

#backup config file
#/bin/cp  $CONFIG_FILE  $BACKUPPATH/$BACKUPDATE


#backup binary log file
BINLOG=`find  $BINLOGPATH  -type  f  -name "mysql_bin*" -mtime -2 |grep -v index `
for  i in  $BINLOG  
do
 /bin/cp $i  $BACKUPPATH/$BACKUPDATE/$BACKUPPORT
done


# backup  and compress 
#有些时候,我们要对数据库进行备份的时候,由于GTID的缘故,导出系统库后,再次导入其他环境的数据库时,就会出问题。所以,我们需要排掉一些系统库,排除GTID对于数据库迁移的影响。

db=`$mycmd  -e "show databases;"|grep -Evw "Database|information_schema|performance_schema|test|mysql|sys"`
${DUMP_InnoDB} --databases $db --ignore-table=要忽略的表 |gzip > $BACKUPPATH/$BACKUPDATE/full_$(date +%w).sql.gz

#flush logs
$mycmd -e 'flush logs'

解压缩方法:使用gunzip gunzip full_2.sql.gz

标签:bin,logs,--,备份,MySQL,241217,mysql,BACKUPPORT,backup
From: https://www.cnblogs.com/amadeuslee/p/18650345

相关文章

  • RockyLinux 9.5 MySQL5.7_二进制方式+jdk1.8+tomcat9+jpress
    安装MySQL5.7#cd/opt#yuminstall-ywget#wgethttps://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.10-linux-glibc2.5-x86_64.tar.gz#tar-xvfmysql-5.7.10-linux-glibc2.5-x86_64.tar.gz-bash:tar:commandnotfound#yuminstall-ytar#tar-xvfmysql-5.7.10......
  • 欧拉OpenEuler安装MySQL8.241227
    1.安装mysqltar-xvfmysql-8.0.21-linux-glibc2.12-x86_64.tarmvmysql-8.0.21-linux-glibc2.12-x86_64/usr/local/mysql2.配置mysqlvim/etc/my.cnf[client]default-character-set=utf8mb4[mysqld]#nd-address=0.0.0.0port=3306user=mysqlbasedir=/usr/local/m......
  • PVE 备份快照
    PVE备份快照-知乎抄一个备份vmware压缩整个虚拟机文件夹就可以连带快照一起打包。PVE自带的vzdump备份并不包含快照信息,备份之后再还原,会丢失快照信息。备份时提示:snapshotsfound(notincludedintobackup)快照信息在循序渐进的开发模式中十分重要,遇到错误直接回退即......
  • 【基础篇重点】六、MySQL表的增删查改
    文章目录前言Ⅰ.创建新数据1、`insert`语句2、插入否则更新--替换3、替换--`replace`Ⅱ.检索数据1、`select`语句①全列查询②指定列查询③查询字段为表达式④为查询结果指定别名`as`⑤结果去重`distinct`2、`where`条件......
  • 【基础篇】七、MySQL内置函数
    文章目录Ⅰ.日期函数案例一案例二Ⅱ.字符串函数常见字符串函数使用案例1、显示对应的字符集--`charset`2、要求显示exam_result表中的信息,显示格式:“XXX的语文是XXX分,数学XXX分,英语XXX分”--`concat`3、求学生表中学生姓名占用的字节数--`length`4、......
  • 实践项目-数据库主从高可用(MySQL-MHA、ProxySQL、Backup)
    (250103)实践目标备份策略:定期全量备份和增量备份,备份文件异地存储。恢复测试:定期在测试库上恢复备份,确保备份文件可用。权限管理:严格控制数据库访问权限,避免误操作。变更管理:所有数据库变更需经过审批,并在非高峰时段执行。监控告警:实时监控数据库状态,设置告警机制,及时发现......
  • 最新MySQL面试题(2025超详细版)
    2025最新超详细MySQL面试题文章目录2025最新超详细MySQL面试题@[toc]一、SQL和基本操作1.SQL的执行顺序2.如何优化MySQL查询3.常用的聚合函数4.数据库事务5.事务的四大特性(ACID)6.视图7.MySQL中使用LIMIT子句进行分页8.MySQL中使用变量和用户定义的函数9.My......
  • 数据备份的3-2-1原则,你真的懂吗?
    数据备份的3-2-1原则,你真的懂吗?你知道吗?数据备份也有“3-2-1”原则!这个听起来有点神秘的规则,其实是保障你数据安全的关键。让我来给你详细讲解一下。什么是3-2-1备份规则?3份备份策略:首先,你得确保你的数据有至少3份副本。除了原始数据,你还需要额外创建两个备份。这样,即使其中一个......
  • MySQL优化--插入数据优化和主键优化
    一、插入数优化(insert)平时我们插入数据的时候一般都是一个语句插一个数据,如下所示:insertintotb_testvalues(1,'tom');insertintotb_testvalues(2,'cat');insertintotb_testvalues(3,'jerry');如果我们需要一次性往数据库表中插入多条记录,可以从以下三个方面进行优......
  • MySQL索引优化-Count优化、limit优化、Update优化
    一、limit优化这里我有一张表tb_sku里面有400w条数据,以这个表作为案例对象在数据量比较大时,如果进行 limit 分页查询,在查询时,越往后,分页查询效率越低。我们一起来看看执行 limit 分页查询耗时对比:1. 未优化案例(1)查询起始索引0后面10条记录select*fromtb_skuli......