MySQL使用命令行备份数据的方法详解

 更新时间:2024年02月03日 10:46:46   作者:码农研究僧  
由于长期使用测试环境的数据库,时不时会有脏数据删除不干净,对此很需要一个实时将生产库的数据定期备份一份,防止生产库中会有脏数据进来,所以本文给大家介绍了MySQL使用命令行备份数据的方法,需要的朋友可以参考下

前言

由于长期使用测试环境的数据库,时不时会有脏数据删除不干净,对此很需要一个实时将生产库的数据定期备份一份,防止生产库中会有脏数据进来。

1. 基本知识

mysqldump 是MySQL数据库管理系统提供的命令行工具,用于备份数据库

mysqldump -u [username] -p[password] [database_name] > /path/to/backup.sql

具体的参数说明:

  • -u: 指定MySQL用户名
  • -p[password]: 指定MySQL密码,注意 -p 之后没有空格,直接跟密码(如果是window系统,直接使用英文的双引号,囊括密码)
  • [database_name]: 要备份的数据库名
  • > /path/to/backup.sql: 将备份数据输出到指定的 SQL 文件

对于该命令通过运行 mysqldump --help 来查看所有可用的选项和参数。

了解这些参数有助于根据你的需求进行定制化的备份操作

2. 常用参数

下面主要讲解常用的命令参数:(如果携带密码在界面中会不安全,此处也可隐藏不写!)

  • 备份整个数据库:(参数-A 或者 不加)
mysqldump -u [username] -p[password] [database_name] > backup.sql

截图如下:

在这里插入图片描述

或者如下:

在这里插入图片描述

  • 仅备份数据库结构(不包含数据):(参数-d 或者 --no-data
mysqldump -u [username] -p[password] --no-data [database_name] > structure_backup.sql

截图如下:

在这里插入图片描述

  • 仅备份数据(不包含结构):(参数-t 或者 --no-create-info
mysqldump -u [username] -p[password] --no-create-info [database_name] > data_backup.sql

截图如下:

在这里插入图片描述

  • 指定备份的表:
mysqldump -u [username] -p[password] [database_name] table1 table2 > tables_backup.sql

截图如下:

在这里插入图片描述

  • 备份时包含 CREATE DATABASE 语句:

其中涉及的数据库一定是存在的

mysqldump -u [username] -p[password] --databases [database_name] > backup_with_create.sql

截图如下:

在这里插入图片描述

  • 备份多个数据库:
mysqldump -u [username] -p[password] --databases db1 db2 > multi_db_backup.sql

截图如下:

在这里插入图片描述

  • 备份时添加注释:
mysqldump -u [username] -p[password] --databases [database_name] --add-drop-database --comments > backup_with_comments.sql

--add-drop-database: 在创建数据库之前添加 DROP DATABASE IF EXISTS 语句

--comments: 在备份文件中添加注释

截图如下:

在这里插入图片描述

  • 指定字符集:
mysqldump -u [username] -p[password] --databases [database_name] --default-character-set=utf8 > backup_utf8.sql

--default-character-set: 指定备份文件的字符集

截图如下:

在这里插入图片描述

3. 拓展

对于其他数据库的备份,大致的方向差不多

一、PostgreSQL:

使用 pg_dump 命令进行备份,同样可以结合 cron 进行定时执行。

# 这里的 [username] 和 [database_name] 分别替换为你的PostgreSQL用户名和数据库名。
0 0 * * * pg_dump -U [username] -d [database_name] > /path/to/backup.sql

二、SQL Server:

使用 SQL Server Management Studio (SSMS) 提供的工具或者 SQL Server Agent 来进行定时备份,可以设置备份作业并指定定时执行的计划。

三、Oracle:

使用 expexpdp 命令进行备份,同样可以结合计划任务进行定时执行。

凌晨执行备份:

#这里的 [username]、[password]、[hostname]、[port]、[service_name] 分别替换为你的Oracle用户名、密码、主机名、端口和服务
0 0 * * * expdp [username]/[password]@//[hostname]:[port]/[service_name] dumpfile=/path/to/backup.dmp

以上就是MySQL使用命令行备份数据的方法详解的详细内容,更多关于MySQL命令行备份数据的资料请关注脚本之家其它相关文章!

相关文章

  • 解读mysql中的null问题

    解读mysql中的null问题

    这篇文章主要介绍了解读mysql中的null问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-09-09
  • MySQL下海量数据的迁移步骤分享

    MySQL下海量数据的迁移步骤分享

    一般mysql小数据的情况可以通过直接复制目录,或者通过帝国备份工具,如果是海量数据(6亿)该怎么处理呢,下面看下别人是怎么处理的参考一下
    2013-10-10
  • MySQL数据库 Load Data 多种用法

    MySQL数据库 Load Data 多种用法

    这篇文章主要介绍MySQL数据库中 Load Data 数据的几种种用法,需要的朋友可以参考下面文章的解说
    2021-08-08
  • MySQL常见数值函数整理

    MySQL常见数值函数整理

    MySQL中另外一类很重要的函数就是数值函数,这些函数能处理很多数值方面的运算,下面这篇文章主要给大家介绍了关于MySQL常见数值函数整理的相关资料,需要的朋友可以参考下
    2023-02-02
  • mysql中url时区的陷阱该如何规避详解

    mysql中url时区的陷阱该如何规避详解

    最近在工作中发现一个问题,是关于mysql中url时区的,发现这个陷阱如果大家不注意可能都会遇到,所以给大家总结下,这篇文章主要给大家介绍了关于mysql中url时区的陷阱该如何规避的相关资料,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-08-08
  • 一文详解MySQL8.0的索引新特性

    一文详解MySQL8.0的索引新特性

    MySQL中的索引可以为提高我们的查询效率,相比较于低版本, MySQL 8.0中针对索引做了不少的优化,本文主要给大家分享一些MySQL8.0索引的新特性,希望大家可以在日常的开发中根据实际场景用起来
    2023-07-07
  • mysql 8.0.16 Win10 zip版本安装配置图文教程

    mysql 8.0.16 Win10 zip版本安装配置图文教程

    这篇文章主要为大家详细介绍了mysql 8.0 Win10 zip版本安装配置图文教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-06-06
  • 新手学习MySQL索引

    新手学习MySQL索引

    如果正确合理设计并且使用索引的MySQL是一辆兰博基尼的话,那么没有索引的MySQL就是一个人力三轮车。通常大型网站单日就可能会产生几十万甚至几百万的数据,没有索引查询会变的非常缓慢,下面小编来带大家了解下索引
    2019-05-05
  • MySQL数据库连接查询 join原理

    MySQL数据库连接查询 join原理

    这篇文章主要介绍了MySQL数据库连接查询 join原理,文章首先通过将多张表连到一起查询 导致记录行数和字段列发生变化,利用一对一、一对多和多对多关系保证数据完整性展开主题内容,需要的小伙伴可以参考一下
    2022-06-06
  • mysql向mariadb平滑过渡的步骤详解

    mysql向mariadb平滑过渡的步骤详解

    MySQL之父Widenius先生离开了Sun之后,觉得依靠Sun/Oracle来发展MySQL,实在很不靠谱,于是决定从新开发代码全部开源免费关系型数据库,这就是MariaDB。下面这篇文章主要给大家介绍了关于mysql向mariadb平滑过渡的相关资料,需要的朋友可以参考下。
    2017-12-12

最新评论