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

centos系统使用mysqldump数据备份与恢复


文章目录

  • 使用mysqldump备份数据库
      • 一、数据库备份
          • 1. 基础备份
          • 2. 额外选项(一般组合使用)

使用mysqldump备份数据库

一、数据库备份

1. 基础备份
#备份单个数据库
mysqldump -u 用户名 -p 数据库名 > 备份文件.sql#备份多个数据库
mysqldump -u 用户名 -p --databases 数据库1 数据库2 > 备份文件.sql#备份所有数据库
mysqldump -u 用户名 -p --all-databases > 备份文件.sql#备份数据库结构(不包括数据)
mysqldump -u 用户名 -p -d 数据库名 > 备份文件.sql#备份特定表
mysqldump -u 用户名 -p 数据库名 表1 表2 > 备份文件.sql
2. 额外选项(一般组合使用)
mysqldump -u 用户名 -p --single-transaction 数据库名 > 备份文件.sql

–single-transaction 是创建一致性快照的有效工具,特别适用于使用 InnoDB 存储引擎的数据库。在高并发环境下进行备份时,它可以减少对数据库操作的干扰并确保数据一致性。

mysqldump -u 用户名 -p --compress 数据库名 > 备份文件.sql

–compress 选项进行备份时,mysqldump 会在数据传输过程中进行压缩,以减少备份文件的大小。这对于网络传输或存储空间有限的情况特别有用。

需要注意的是,–compress 主要用于客户端与服务器之间的压缩,而不是直接在备份文件上进行压缩。

#备份并包含主服务器状态信息
mysqldump -u 用户名 -p --master-data 数据库名 > 备份文件.sql#备份并指定主服务器状态信息的位置
#将 CHANGE MASTER TO 语句以注释形式插入到备份文件的前面
mysqldump -u 用户名 -p --master-data=1 数据库名 > 备份文件.sql	#将 CHANGE MASTER TO 语句作为普通 SQL 语句插入到备份文件中,不以注释形式
mysqldump -u 用户名 -p --master-data=2 数据库名 > 备份文件.sql

设置从服务器:当恢复备份时,从服务器可以根据备份文件中的位置信息与主服务器同步。这确保了从服务器能从正确的位置开始复制数据。

确保数据一致性:如果你的系统使用了主从复制,确保备份时记录了正确的主服务器状态信息对于数据一致性和复制过程的正常运行是必要的。

总的来说,–master-data 选项对涉及主从复制的环境非常重要,它可以帮助你更准确地恢复数据库和设置复制关系。

mysqldump -u 用户名 -p --flush-logs 数据库名 > 备份文件.sql

–flush-logs 用于在备份过程中刷新 MySQL 的日志文件。具体来说,它会强制 MySQL 服务器关闭当前的二进制日志文件,并创建一个新的日志文件。这对于备份和恢复过程中确保数据的一致性和日志管理非常有用。
#注意事项
对日志的影响:使用 --flush-logs 会影响 MySQL 的日志管理,因此在使用这个选项时需要考虑日志文件的大小和存储策略。
主从复制:如果你的环境中有主从复制,使用 --flush-logs 可以帮助确保从服务器恢复时的数据一致性,但需要配合 --master-data 等选项使用,以便正确记录主服务器的状态。

总的来说,–flush-logs 是一个有用的选项,尤其是在需要确保备份的一致性和管理日志文件时

二、数据库恢复

#恢复单个数据库
mysql -u 用户名 -p 数据库名 < 备份文件.sql#恢复所有数据库
mysql -u 用户名 -p < 备份文件.sql

or

不会增加日志体积
mysql>  set sql_log_bin =0  mysql>  source   备份文件
http://www.lryc.cn/news/406209.html

相关文章:

  • 【element ui】input输入控件绑定粘贴事件,从 Excel 复制的数据粘贴到输入框(el-input)时自动转换为逗号分隔的数据
  • Chapter18 基于物理的渲染——Shader入门精要学习
  • DolphinScheduler学习
  • 我用Tauri开发的待办效率工具开源了!
  • 【黑科技】:Laravel 项目性能提升 20 倍
  • User Allocation In MEC: A DRL Approach 论文笔记
  • leetcode 69. x 的平方根
  • 基于词级ngram的词袋模型对twitter数据进行情感分析
  • Linux-Centos-改密码(单用户登陆)
  • java实现OCR图片识别,RapidOcr开源免费
  • PCB工艺边设计准则
  • CTF-NSSCTF题单[GKCTF2020]
  • redis的分片集群(仅供自己参考)
  • 自动驾驶-机器人-slam-定位面经和面试知识系列01之常考公式推导(01)
  • netty入门-5 ServerBootstrap与Bootstarp
  • JavaEE - Spring Boot 简介
  • SwiftUI革新:Xcode UI开发的新纪元
  • 22、基于共享内存的数据结构——用十个块来提高并发性
  • 【ffmpeg命令入门】实现画中画
  • 基于 LangChain+LangGraph 来实现一个翻译项目
  • javascript 如何将 json 格式数组转为 excel 表格| sheetJS
  • 网页制作技术在未来会如何影响人们的生活?
  • 【计算机网络】网络层——IPv4地址(个人笔记)
  • c++ 学习笔记之多线程:线程锁,条件变量,唤醒指定线程
  • 《0基础》学习Python——第二十三讲__网络爬虫/<6>爬取哔哩哔哩视频
  • 第13周 简历职位功能开发与Zookeeper实战
  • 什么是大型语言模型 (LLM)
  • 【人工智能】AI时代:探索个人潜能的新视角
  • pyaudio VAD通过声音音频值分贝大小检测没人说话自动停止录制
  • 《后端程序猿 · @Value 注释说明》