当前位置: 首页 > news >正文

站长之家最新网站专业做app软件开发公司

站长之家最新网站,专业做app软件开发公司,做产品设计之前怎么查资料国外网站,wordpress宝宝网商城免费模板下载目录 注意: 一.脚本内容 二.执行效果 三.创建定时任务 注意: 以下为对MySQL5.7.42版本数据库备份shell脚本参考运行备份的机器请确认mysqldump版本>5.7,否则备份参数--set-gtid-purgedOFF无效,考虑到一般数据库节点和备份…

目录

注意:

一.脚本内容

二.执行效果

三.创建定时任务


注意:

  • 以下为对MySQL5.7.42版本数据库备份shell脚本参考
  • 运行备份的机器请确认mysqldump版本>5.7,否则备份参数--set-gtid-purged=OFF无效,考虑到一般数据库节点和备份节点不为同一节点,以下链接为mysql5.7.43的rpm安装包,解压后"yum localinstall -y mysql-community* 即可"

通过网盘分享的文件:mysql-5.7.43-1.el7.x86_64.rpm-bundle.tar
链接: https://pan.baidu.com/s/1C1dK_zeS0-p7ePih1ff4tg?pwd=cer9 提取码: cer9

  • 该脚本目前是对于整库、库下各表都做了备份,若不需要对各表进行备份,去除关于备表的for循环即可。

一.脚本内容

#!/bin/bash
# 定义连接mysql的用户、密码、地址、端口
mysql_user="root"
mysql_pass="SLBmysql2025"
mysql_host="192.168.2.199"
mysql_port="20307"
# 定义排除数据库变量
exdbname='information_schema|performance_schema|sys|mysql'
date="$(date +"%Y-%m-%d")"
# 定义备份路径变量
bak_path="/data/mysql/back"
# 日志存放位置
log_file="$bak_path/$date/backup.log"
# 定义日志保留天数
retain_days=7
# 定义备份参数
dump_opts='--set-gtid-purged=OFF --single-transaction --no-autocommit'
# 检查备份路径是否存在,不存在则创建
if [ ! -d "$bak_path" ]; thenmkdir -p "$bak_path"
fi
# 获取数据库列表,排除指定数据库
#db_list=$(mysql -u$mysql_user -p$mysql_pass -h$mysql_host -P$mysql_port -e 'SHOW DATABASES;' 2>/dev/null | sed '1d' | grep -Ev "^($exdbname)$")
db_list=$(mysql -u$mysql_user -p$mysql_pass -h$mysql_host -P$mysql_port -Bse 'SHOW DATABASES;' 2>/dev/null | grep -Ev "^($exdbname)$")
# 检查是否获取到数据库列表
if [ -z "$db_list" ]; thenecho "未获取到有效的数据库列表,请检查 MySQL 连接和权限。" > $log_fileexit 1
fi
# 对每个数据库进行操作
for db in $db_list; do# 创建数据库对应的备份目录db_backup_dir="$bak_path/$date/$db"SIZE=$(mysql -u$mysql_user -p$mysql_pass -h$mysql_host -P$mysql_port --silent --skip-column-names -e "SELECT ROUND(SUM(data_length) / 1024 / 1024, 0) FROM information_schema.TABLES WHERE table_schema=\"$db\";")if [ ! -d "$db_backup_dir" ]; thenmkdir -p "$db_backup_dir"fi# 备份整个数据库mysqldump -u$mysql_user -p$mysql_pass -h$mysql_host -P$mysql_port $dump_opts -B "$db" 2>/dev/null | gzip > "$db_backup_dir/${db}_$(date +%F).sql.gz"if [ $? -ne 0 ]; thenecho "备份数据库 $db 失败。" >> $log_fileelseecho "数据库 $db 备份成功,存放路径 $db_backup_dir/${db}_$(date +%F).sql.gz,大小为 $SIZE M" >> $log_filefi# 获取数据库中的表列表tb_list=$(mysql -u$mysql_user -p$mysql_pass -h$mysql_host -P$mysql_port -N -e "SHOW TABLES FROM $db" 2>/dev/null)# 检查是否获取到表列表if [ -z "$tb_list" ]; thenecho "未获取到数据库 $db 中的表列表。" >> $log_filecontinuefi# 对每个表进行操作for tb in $tb_list; do# 备份单个表mysqldump -u$mysql_user -p$mysql_pass -h$mysql_host -P$mysql_port $dump_opts "$db" "$tb" 2>/dev/null | gzip > "$db_backup_dir/${db}_${tb}_$(date +%F).sql.gz"if [ $? -ne 0 ]; thenecho "备份表 $db.$tb 失败。" >> $log_fileelseecho "表 $db.$tb 备份成功,存放路径 $db_backup_dir/${db}_${tb}_$(date +%F).sql.gz" >> $log_filefidone
donefind $bak_path -mtime +$retain_days -exec rm -f {} \;

二.执行效果

[root@master01 mysql]# bash sh/backup.sh 
mysql: [Warning] Using a password on the command line interface can be insecure.
mysql: [Warning] Using a password on the command line interface can be insecure.
[root@master01 mysql]# ll
total 12
drwxr-xr-x 3 root    root   24 Feb 17 22:19 back
drwxr-xr-x 7 polkitd root 4096 Feb 17 22:15 data
-rw-r--r-- 1 root    root 1802 Feb 16 18:18 my.cnf
-rw-r--r-- 1 root    root  242 Feb 16 18:18 mysql.txt
drwxr-xr-x 2 root    root   23 Feb 17 22:19 sh
[root@master01 mysql]# cd back/2025-02-17/
[root@master01 2025-02-17]# ll
total 4
-rw-r--r-- 1 root root 436 Feb 17 22:19 backup.log
drwxr-xr-x 2 root root  73 Feb 17 22:19 slb
drwxr-xr-x 2 root root  76 Feb 17 22:19 test
[root@master01 2025-02-17]# du -sh ./*
4.0K    ./backup.log
24K     ./slb
24K     ./test
[root@master01 2025-02-17]# cat backup.log 
数据库 slb 备份成功,存放路径 /data/mysql/back/2025-02-17/slb/slb_2025-02-17.sql.gz,大小为 0 M
表 slb.students 备份成功,存放路径 /data/mysql/back/2025-02-17/slb/slb_students_2025-02-17.sql.gz
数据库 test 备份成功,存放路径 /data/mysql/back/2025-02-17/test/test_2025-02-17.sql.gz,大小为 0 M
表 test.employees 备份成功,存放路径 /data/mysql/back/2025-02-17/test/test_employees_2025-02-17.sql.gz
[root@master01 2025-02-17]# pwd
/data/mysql/back/2025-02-17

三.创建定时任务

[root@master01 sh]# tail -1 /etc/crontab 
0 2 * * * root /usr/bin/bash /data/mysql/sh/mysql_backup.sh
http://www.hkea.cn/news/245685/

相关文章:

  • 网站的做网站公司哪家好网络优化大师app
  • 国内外包网站今日头条(官方版本)
  • 外网建筑设计网站线上渠道推广有哪些方式
  • 厦门做网站公司排名电工培训机构
  • 武汉网站设计制作外包公司的人好跳槽吗
  • 网站建设哪里最好页面关键词优化
  • 清远建设网站制作seo系统培训课程
  • 网站的网页建设知识ppt北大青鸟职业技术学院简介
  • 巫山网站设计aso优化榜单
  • 关于节约化建设网站的表态发言网站制作报价表
  • 建行网站是多少呢故事式的软文广告例子
  • 阳江市住房和城乡规划建设局网站一级消防工程师考试
  • 做课件的网站有哪些用html制作淘宝网页
  • 网站开发前后台整个流程品牌宣传的推广
  • 深圳市门户网站建设网站推广优化方法
  • 中山公司注册网页怎么优化
  • 网站建设怎么分录2022年新闻摘抄简短
  • 江西景德镇建设厅网站太原关键词排名推广
  • 番禺做网站自媒体发布平台有哪些
  • 用dede做的网站首页电子商务网络营销
  • 最好的做任务赚钱网站网络域名怎么查
  • 建设部规范网站百度app关键词优化
  • 骏域网站百度怎么收录网站
  • 网站robots.txt查看九江seo公司
  • 建设阿里妈妈网站搜索引擎排名优化seo
  • 自学网站建设作业创建网站免费
  • 营销网站定制的优势成品网站源码的优化技巧
  • 高职学院网站建设方案广告制作
  • table表格 做的网站营销案例分析报告模板
  • pc端网站做移动适配教育培训机构管理系统