)
详解本作者提供了各种操作系统类型CentOS、欧拉、RHEL红帽、麒麟的mydumper/myloader工具可供下载。如容器化镜像、zip压缩文件开封即用非常方便。1、备份数据导出数据# 导出所有数据库但不包含information_schema|performance_schema|sys|mysql实例mydumper--hostIP--port端口\--user用户名--password密码\--triggers--routines-E--threads4\--regex^(?!(information_schema|performance_schema|sys|mysql))\--compress--verbose3\--long-query-guard999999999\--outputdir备份文件存放目录# 导出指定数据库mydumper--hostIP--port端口\--user用户名--password密码\--database数据库实例\--triggers--routines-E--threads4\--compress--verbose3\--long-query-guard999999999\--outputdir备份文件存放目录# 导出表mydumper--hostIP--port端口\--user用户名--password密码\--database数据库实例\--tables-list表名1,表名2,表名n\--triggers--routines-E--threads4\--compress--verbose3\--outputdir备份文件存放目录2、恢复数据导入数据myloader 会自动创建数据库和表无需提前手动创建且导入时不会影响数据库实例中现有的数据。# 将备份目录下的所有数据源导入如果表存在则将其覆盖myloader--hostIP--port端口\--user用户名--password密码\--verbose3--overwrite-tables--threads4\--directory备份文件存放目录# 将备份目录下的指定数据源导入如果表存在则将其覆盖myloader--hostIP--port端口\--user用户名--password密码\--verbose3--overwrite-tables--threads4\--source-db源数据库实例\--database目标数据库实例\--directory备份文件存放目录# 将备份目录下的指定数据源导入如果表存在则不导入即只导入当前数据库实例中不存在的表myloader--hostIP--port端口\--user用户名--password密码\--verbose3--threads4\--source-db源数据库实例\--database目标数据库实例\--directory备份文件存放目录3、定时备份脚本全库备份#!/bin/bash################### 公共变量 ######################DATE$(date%Y-%m-%d-%H-%M)# 2025-05-11-11-36START_TIME$(date%Y-%m-%d %H:%M:%S)# 2025-05-11 11:36:39SCRIPT_PATH$(realpath$0)# /root/henji/middle_backup.sh################## mariadb 变量参数 ################## 备份文件存放目录MYSQL_NEW_DIR/opt/software/mysql8/backup# 连接信息HOST192.168.1.196PORT30096USERrootPASSWDjiazhiadmin_123functionMysql_backup(){# 判断目录不存在就创建[-e${MYSQL_NEW_DIR}/mysqlbackup_${DATE}]||mkdir-p${MYSQL_NEW_DIR}/mysqlbackup_${DATE}# 执行备份备份所有业务库cd/opt/software/mysql8/LD_LIBRARY_PATH/opt/software/mysql8/mydumper/usr/lib64:$LD_LIBRARY_PATH/opt/software/mysql8/mydumper/usr/bin/mydumper\--host${HOST}--port${PORT}--user${USER}--password${PASSWD}\--triggers--routines-E--regex^(?!(information_schema|performance_schema|sys|mysql))\--compress--verbose3--threads4--long-query-guard999999999--outputdir${MYSQL_NEW_DIR}/mysqlbackup_${DATE}cd${MYSQL_NEW_DIR}tar-zcfmysqlbackup_${DATE}.tar.gz mysqlbackup_${DATE}--remove-files/dev/null21# 删除7天前的备份find${MYSQL_NEW_DIR}/-typef-ctime7-name*.tar.gz-execrm-f{}\;}case$1inmysql)echo开始备份mysql:${HOST}...Mysql_backup;;*)echoerror! 请输入: mysql;;esac