mysql中四种备份模式

 更新时间:2023年11月09日 10:10:36   作者:我是一个大西瓜  
本文主要介绍了mysql中四种备份模式,无论使用哪种备份方式,都需要根据业务需求和数据量大小来选择合适的备份策略,并定期验证备份是否有效,感兴趣的可以了解一下

mysql 常用的几种备份方式和方法

1 使用mysqldump命令行工具进行备份:该工具可以将数据库中的表结构和数据导出成SQL脚本文件,可以使用该文件进行恢复。

2 使用MySQL的物理备份工具:例如Percona XtraBackup、Mariabackup等,这些工具可以对MySQL数据库进行增量备份和全量备份,备份的数据为二进制文件,可以直接用于还原。

3 mySQL主从备份:通过配置MySQL主从复制,将数据从主库同步到从库,然后对从库进行备份,以保证备份的数据是与主库一致的。

4 第三方备份工具:例如Zmanda、mydumper等,这些工具提供了更加灵活的备份方式,可以根据需求选择不同的备份方式和存储位置。

无论使用哪种备份方式,都需要根据业务需求和数据量大小来选择合适的备份策略,并定期验证备份是否有效。同时,建议将备份数据存储在不同的地点或云服务上,以避免单点故障

mysql dump常用的几种方式

Mysql 备份几种范例
1. 备份整个数据库
mysqldump -u username -p dbname > backup.sql

2 备份指定表
mysqldump -u username -p dbname table1 table2 > backup.sql

3. 压缩备份文件
mysqldump -u username -p dbname | gzip > backup.sql.gz

4. 回复备份文件
mysql -u username -p dbname < backup.sql

常用的使用几种备份mysqldump

shell

#!/bin/bash

USER=username
PASSWORD=password
DATABASE=dbname
BACKUP_DIR=/backup/mysql
DATE=$(date +%Y-%m-%d-%H-%M-%S)
BACKUP_FILE=$BACKUP_DIR/$DATABASE-$DATE.sql

# 创建备份目录
if [ ! -d $BACKUP_DIR ]; then
  mkdir -p $BACKUP_DIR
fi

# 备份数据库
mysqldump -u$USER -p$PASSWORD $DATABASE > $BACKUP_FILE

# 压缩备份文件
gzip $BACKUP_FILE

# 删除过期备份
find $BACKUP_DIR -name "$DATABASE-*.gz" -type f -mtime +7 –delete

python 脚本

import subprocess
import os
import datetime

# 数据库连接参数
MYSQL_HOST = 'localhost'
MYSQL_PORT = '3306'
MYSQL_USER = 'username'
MYSQL_PASSWORD = 'password'
DATABASE = 'dbname'

# 备份文件存储路径
BACKUP_DIR = '/backup/mysql'

# 创建备份目录
if not os.path.exists(BACKUP_DIR):
    os.makedirs(BACKUP_DIR)

# 获取当前时间,作为备份文件名的一部分
now = datetime.datetime.now().strftime('%Y-%m-%d-%H-%M-%S')

# 备份文件名
backup_file = f'{DATABASE}-{now}.sql'

# mysqldump命令
cmd = f"mysqldump -h{MYSQL_HOST} -P{MYSQL_PORT} -u{MYSQL_USER} -p{MYSQL_PASSWORD} {DATABASE} > {BACKUP_DIR}/{backup_file}"

# 执行备份命令
subprocess.run(cmd, shell=True, check=True)

# 压缩备份文件
gzip_cmd = f"gzip {BACKUP_DIR}/{backup_file}"
subprocess.run(gzip_cmd, shell=True, check=True)

# 删除过期备份文件
delete_cmd = f"find {BACKUP_DIR} -name '{DATABASE}-*.gz' -type f -mtime +7 -delete"
subprocess.run(delete_cmd, shell=True, check=True)

 到此这篇关于mysql中四种备份模式的文章就介绍到这了,更多相关mysql 备份模式内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • mysql 5.5 安装配置方法图文教程

    mysql 5.5 安装配置方法图文教程

    这篇文章主要为大家分享了mysql 5.5安装配置方法图文教程,感兴趣的朋友可以参考一下
    2016-11-11
  • mysql完整性约束实例详解

    mysql完整性约束实例详解

    这篇文章主要介绍了mysql完整性约束,结合实例形式详细分析了mysql完整性约束的原理、使用方法与操作注意事项,需要的朋友可以参考下
    2020-01-01
  • mysql自动插入百万模拟数据的操作代码

    mysql自动插入百万模拟数据的操作代码

    这篇文章主要介绍了mysql自动插入百万模拟数据的示例代码,本文给大家介绍的非常详细,对大家的学习或工作具有一定参考借鉴价值,需要的朋友可以参考下
    2021-10-10
  • 详解MySQL存储过程参数有三种类型(in、out、inout)

    详解MySQL存储过程参数有三种类型(in、out、inout)

    MySQL 存储过程参数有三种类型:in、out、inout。它们各有什么作用和特点呢
    2012-07-07
  • MySQL异常恢复之无主键情况下innodb数据恢复的方法

    MySQL异常恢复之无主键情况下innodb数据恢复的方法

    这篇文章主要介绍了MySQL异常恢复之无主键情况下innodb数据恢复的方法,结合实例形式分析了针对innodb引擎无主键的情况下恢复数据的步骤与相关技巧,需要的朋友可以参考下
    2016-04-04
  • Mac os 解决无法使用localhost连接mysql问题

    Mac os 解决无法使用localhost连接mysql问题

    今天在mac上搭建好了php的环境,把先前在window、linux下运行良好的程序放在mac上,居然出现访问不了数据库,数据库连接的host用的是localhost,可以确认数据库配置是正确的,下面特为大家分享下
    2014-05-05
  • centos7.4系统中yum源安装mysql 5.6

    centos7.4系统中yum源安装mysql 5.6

    本文给大家介绍的是如何在centos7.4系统中通过yum源安装MySQL 5.6数据库,CentOS7默认数据库是mariadb, 但是 好多用的都是mysql ,但是CentOS7的yum源中默认好像是没有mysql的,今天我们就来看看具体如何操作
    2018-09-09
  • 浅谈MySQL的B树索引与索引优化小结

    浅谈MySQL的B树索引与索引优化小结

    这篇文章主要介绍了浅谈MySQL的B树索引与索引优化小结,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-03-03
  • MySQL数据库忽略大小写的配置方法

    MySQL数据库忽略大小写的配置方法

    这篇文章主要给大家介绍了MySQL数据库忽略大小写的配置方法,文中通过代码示例给大家讲解的非常详细,对大家的学习或工作有一定的帮助,需要的朋友可以参考下
    2024-01-01
  • 深入了解mysql索引

    深入了解mysql索引

    这篇文章主要介绍了mysql索引的相关资料,文中讲解非常细致,帮助大家更好的理解和学习mysql,感兴趣的朋友可以了解下
    2020-07-07

最新评论