博客
关于我
mysql数据库的备份与恢复
阅读量:789 次
发布时间:2023-02-12

本文共 1373 字,大约阅读时间需要 4 分钟。

MySQL数据库管理实践指南

一、前景准备

1、安装MySQL数据库

本文将基于MySQL 8.0进行操作。安装前需准备以下环境:

  • 权限要求:需具有root级权限进行数据库安装和管理。

2、数据库安装步骤

通过脚本安装MySQL数据库:

# 更新包列表并安装必要依赖sudo yum -y -q install wget libaio numactl-libs ncurses*# 下载并解压MySQL安装包cd /opttar xf mysql-8.0.29-linux-glibc2.12-x86_64.tar.xz -C /usr/local# 创建软链接并设置权限ln -s /usr/local/mysql /usr/local/mysqlchown -R root:root /usr/local/mysql# 初始化数据库mysqladmin -uroot -p install MySQL server

安装完成后,数据库将自动加入到系统服务中,并设置为随机启动。

二、数据库备份

1、物理备份

物理备份通过直接复制数据库文件完成,适合快速恢复需求。

备份操作步骤:

  • 停服数据库
  • service mysqld stop
    1. 物理备份
    2. cd /datacp -rp mysql/ backup_mysql
      1. 恢复数据
        • 删除原有数据库文件。
        • 将备份文件复制回原路径。
        • 启动数据库服务并验证数据恢复情况。

        示例:恢复操作

        # 删除表数据mysql -uroot -p -e "drop database test;"

        2、热备份(逻辑备份)

        使用mysqldump进行热备份,支持部分或完全备份。

        备份选项说明:

        • -B:指定备份的数据库。
        • -F:只备份表结构。
        • -R:备份存储过程和函数。
        • -A:备份所有数据库。
        • -source-data:关联二进制日志进行增量备份。

        示例:备份操作

        mysqldump -uroot -p -B mysql test -F --single-transaction --source-data=2 > /data/all.sql

        恢复操作:

      2. 导入SQL文件
      3. mysql -uroot -p < /data/all.sql
        1. 验证数据
        2. mysql -uroot -p -e "show tables;"

          三、通过二进制日志恢复数据

          二进制日志记录了数据库的事务日志,支持对误操作数据的恢复。

          1、刷新二进制日志

          mysqladmin -uroot -p flush-logs

          2、重置主从关系

          reset master;

          3、示例数据恢复

          数据删除示例:

          # 删除表数据delete from students where stuid=26;

          恢复步骤:

        3. 导出二进制日志
        4. mysqlbinlog chen2-bin.000001 > ./binlog-000001.sql
          1. 修改SQL脚本:删除不必要的命令。

          2. 临时关闭二进制日志

          3. stop slave;
            1. 导入修复后的SQL
            2. mysql -uroot -p < ./binlog-000001.sql
              1. 验证数据恢复
              2. mysql -uroot -p -e "show tables;"

                通过以上步骤,可以实现MySQL数据库的高效管理与数据恢复。

    转载地址:http://wjdfk.baihongyu.com/

    你可能感兴趣的文章
    Mysql学习总结(63)——Mysql数据库架构方案选择与分析
    查看>>
    Mysql学习总结(64)——Mysql配置文件my.cnf各项参数解读
    查看>>
    Mysql学习总结(65)——项目实战中常用SQL实践总结
    查看>>
    Mysql学习总结(66)——设置MYSQL数据库编码为UTF-8
    查看>>
    Mysql学习总结(67)——MYSQL慢查询日志
    查看>>
    Mysql学习总结(68)——MYSQL统计每天、每周、每月、每年数据 SQL 总结
    查看>>
    Mysql学习总结(69)——Mysql EXPLAIN 命令使用总结
    查看>>
    Mysql学习总结(6)——MySql之ALTER命令用法详细解读
    查看>>
    Mysql学习总结(70)——MySQL 优化实施方案
    查看>>
    Mysql学习总结(71)——MySQL 重复记录查询与删除总结
    查看>>
    Mysql学习总结(71)——数据库介绍(MySQL安装 体系结构、基本管理)再回顾
    查看>>
    Mysql学习总结(73)——MySQL 查询A表存在B表不存在的数据SQL总结
    查看>>
    Mysql学习总结(76)——MySQL执行计划(explain)结果含义总结
    查看>>
    Mysql学习总结(77)——温故Mysql数据库开发核心原则与规范
    查看>>
    Mysql学习总结(78)——MySQL各版本差异整理
    查看>>
    Mysql学习总结(79)——MySQL常用函数总结
    查看>>
    Mysql学习总结(7)——MySql索引原理与使用大全
    查看>>
    Mysql学习总结(80)——统计数据库的总记录数和库中各个表的数据量
    查看>>
    Mysql学习总结(81)——为什么MySQL不推荐使用uuid或者雪花id作为主键?
    查看>>
    Mysql学习总结(82)——MySQL逻辑删除与数据库唯一性约束如何解决?
    查看>>