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.7.9 winx64在windows上安装遇到的问题

    mysql 5.7.9 winx64在windows上安装遇到的问题

    mysql5.7.9版本以上在windwos上安装时会遇到无法启动但是没有任何报错的问题,怎么回事呢?接下来通过本文给大家介绍mysql 5.7.9 winx64在windows上安装遇到的问题及解决方法,需要的朋友可以参考下
    2016-10-10
  • Mysql 安装及my.ini的创建过程

    Mysql 安装及my.ini的创建过程

    这篇文章主要介绍了Mysql 安装及my.ini的创建过程,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-07-07
  • windows7下mysql8.0.18部署安装教程图解

    windows7下mysql8.0.18部署安装教程图解

    这篇文章主要介绍了windows7下mysql8.0.18部署安装教程,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-01-01
  • MySQL中复制数据表中的数据到新表中的操作教程

    MySQL中复制数据表中的数据到新表中的操作教程

    这篇文章主要介绍了MySQL中复制数据表中的数据到新表中的操作教程,文中分为新表存在和新表不存在两种情况来讲,需要的朋友可以参考下
    2016-03-03
  • mysql 5.6.23 winx64.zip安装详细教程

    mysql 5.6.23 winx64.zip安装详细教程

    这篇文章主要介绍了mysql 5.6.23 winx64.zip安装详细教程,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2017-02-02
  • Mysql指定某个字符串字段前面几位排序查询方式

    Mysql指定某个字符串字段前面几位排序查询方式

    这篇文章主要介绍了Mysql指定某个字符串字段前面几位排序查询方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03
  • MySQL基于java实现备份表操作

    MySQL基于java实现备份表操作

    这篇文章主要介绍了MySQL基于java实现备份表操作,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-10-10
  • 一条慢SQL语句引发的改造之路

    一条慢SQL语句引发的改造之路

    这篇文章主要给大家介绍了关于一条慢SQL语句引发的相关资料,文中通过实例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2022-03-03
  • mysql锁表确认及解除锁表的实现示例

    mysql锁表确认及解除锁表的实现示例

    使用MySQL数据库时,我们可能会遇到数据库表被锁定的情况,本文主要介绍了mysql锁表确认及解除锁表的实现示例, 具有一定的参考价值,感兴趣的可以了解一下
    2024-06-06
  • 关于避免MySQL替换逻辑SQL的坑爹操作详解

    关于避免MySQL替换逻辑SQL的坑爹操作详解

    这篇文章主要给大家介绍了关于避免MySQL替换逻辑SQL的坑爹操作的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用mysql具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2018-03-03

最新评论