夜猫子的知识栈 夜猫子的知识栈
首页
  • 前端文章

    • JavaScript
  • 学习笔记

    • 《JavaScript教程》
    • 《Web Api》
    • 《ES6教程》
    • 《Vue》
    • 《React》
    • 《TypeScript》
    • 《Git》
    • 《Uniapp》
    • 小程序笔记
    • 《Electron》
    • JS设计模式总结
  • 《前端架构》

    • 《微前端》
    • 《权限控制》
    • monorepo
  • 全栈项目

    • 任务管理日历
    • 无代码平台
    • 图书管理系统
  • HTML
  • CSS
  • Nodejs
  • Midway
  • Nest
  • MySql
  • 其他
  • 技术文档
  • GitHub技巧
  • 博客搭建
  • Ajax
  • Vite
  • Vitest
  • Nuxt
  • UI库文章
  • Docker
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

夜猫子

前端练习生
首页
  • 前端文章

    • JavaScript
  • 学习笔记

    • 《JavaScript教程》
    • 《Web Api》
    • 《ES6教程》
    • 《Vue》
    • 《React》
    • 《TypeScript》
    • 《Git》
    • 《Uniapp》
    • 小程序笔记
    • 《Electron》
    • JS设计模式总结
  • 《前端架构》

    • 《微前端》
    • 《权限控制》
    • monorepo
  • 全栈项目

    • 任务管理日历
    • 无代码平台
    • 图书管理系统
  • HTML
  • CSS
  • Nodejs
  • Midway
  • Nest
  • MySql
  • 其他
  • 技术文档
  • GitHub技巧
  • 博客搭建
  • Ajax
  • Vite
  • Vitest
  • Nuxt
  • UI库文章
  • Docker
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • Node基础

  • 《MySQL》学习笔记

    • Navicat for MySQL
    • SQL语法
    • 查询操作
    • 数据统计
    • 高级查询
    • 内置函数
    • 数据修改
    • 表的操作
    • 列的属性
    • 多表查询
    • 视图
    • 索引
    • 存储程序
    • 游标
    • 事务
    • 安全管理
    • 数据备份
      • 库备份
        • 备份整个数据库
        • 备份多个数据库
        • 备份所有数据库
        • 还原数据库
      • 表备份
        • 备份单个表
        • 备份多个表
        • 还原表
    • 其他内容
  • Midway

  • Nest

  • 其他

  • 服务端
  • 《MySQL》学习笔记
夜猫子
2024-02-02
目录

数据备份

# 数据备份

在使用数据库的过程中,可能存在一些不可预估的因素(如误操作、病毒入侵等),会造成数据的破坏以及丢失。为了保证数据的安全性,我们需要经常对数据进行备份才行。

# 库备份

使用mysqldump可以将数据库导出为SQL脚本文件。

# 备份整个数据库

mysqldump -u username -p database_name > backup_file.sql
1

这里,username是你用来登录MySQL的用户名,database_name是要备份的数据库名,backup_file.sql是备份文件的名字。执行命令后,系统会提示你输入密码。

# 备份多个数据库

如果你需要备份多个数据库,可以使用--databases选项。

mysqldump -u username -p --databases db_name1 db_name2 > multi_backup.sql
1

# 备份所有数据库

要备份服务器上的所有数据库,可以使用--all-databases选项。

mysqldump -u username -p --all-databases > all_dbs_backup.sql
1

# 还原数据库

创建新数据库(如果需要):

在还原之前,如果你是从头开始或需要一个新数据库来导入数据,首先创建一个新的数据库

CREATE DATABASE new_database;
1

还原数据库:

使用mysql命令从备份文件中导入数据到指定的数据库:

mysql -u username -p new_database < backup_file.sql
1

或者直接在命令行中执行:

mysql -u username -p -e "CREATE DATABASE IF NOT EXISTS new_database;" && mysql -u username -p new_database < backup_file.sql
1

笔记

确保在执行这些操作时有足够的权限,并注意保护好你的备份文件,避免未经授权的访问。此外,对于大型数据库,考虑使用压缩技术减少备份文件的大小以及传输时间。

# 表备份

使用mysqldump可以针对特定的表进行备份

# 备份单个表

mysqldump -u username -p database_name table_name > table_backup.sql
1

其中,username是你的MySQL用户名,database_name是你要备份表所在的数据库名,table_name是要备份的表名,table_backup.sql是你保存备份文件的名字。

# 备份多个表

如果需要备份同一个数据库下的多个表,可以直接列出所有要备份的表名:

mysqldump -u username -p database_name table1 table2 > tables_backup.sql
1

# 还原表

使用mysql命令将备份文件中的表导入到指定数据库中:

mysql -u username -p database_name < table_backup.sql
1

或者直接在命令行中执行创建数据库并导入:

mysql -u username -p -e "CREATE DATABASE IF NOT EXISTS database_name;" && mysql -u username -p database_name < table_backup.sql
1

笔记

  • 在进行表的备份和还原时,请确保有足够的权限。
  • 如果你在还原过程中遇到错误,可能是由于表已存在。在这种情况下,你可以手动删除现有的表(请谨慎操作),或者使用--add-drop-table选项重新生成备份文件,这样在还原时会自动删除存在的表。
  • 对于大型表,考虑增加一些参数优化导出和导入过程,如使用--quick选项等。
编辑 (opens new window)
上次更新: 2025/3/12 17:54:26
安全管理
其他内容

← 安全管理 其他内容→

最近更新
01
IoC 解决了什么痛点问题?
03-10
02
如何调试 Nest 项目
03-10
03
Provider注入对象
03-10
更多文章>
Copyright © 2019-2025 Study | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式