百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

Linux:从命令行备份 MySQL 数据库

nanshan 2025-08-05 20:07 5 浏览 0 评论

为您的数据库创建可靠的备份系统可以让您高枕无忧,而且使用 MySQL 和 Linux 可以轻松实现。

如果您的网站、应用程序或业务依赖于数据库 ,您必须采取的一个非常重要的步骤是备份该数据 。如果没有可靠的备份,您可能会发现自己陷入了数据损坏的困境,并且无法更换它。

幸运的是,备份 MySQL 数据库并不像您想象的那么难,而且所需的工具都是内置的。

想象一下,登录该应用程序或站点并看到与数据库的连接失败或(更糟糕的)数据损坏。或者,也许您需要将数据库迁移到新服务器,而不会丢失一丝信息。

这很重要,这是您需要了解的一项技能。

这就是我在这里的原因:向您展示如何备份该 MySQL 数据库。

您准备好了吗?

让我们来获取 database-y。

您需要什么

在本教程中,您需要备份一个 MySQL 数据库和一个具有管理员权限的用户。我将在 Ubuntu 服务器上演示该过程,因此相关用户需要具有 sudo 权限 。我还将向您展示如何备份 MariaDB 数据库 。

备份 MySQL 数据库

在运行备份之前,您需要知道数据库的确切名称。为此,请首先使用以下命令访问 MySQL 控制台:

进入控制台后,使用以下命令列出您的数据库:

sudo mysql -u root -p

您应该会在列表中看到要备份的数据库。假设数据库名为 newstack。让我们来支持这一点。

SHOW DATABASES;

使用以下命令退出 MySQL 控制台:

EXIT;

您现在可以使用 mysqldump 命令备份数据库,如下所示:

上面的命令会将 newstack 的内容转储到 newstack-backup.sql 中。

恢复该备份

假设您已迁移到新服务器并希望恢复 newstack 数据库。为此,请登录新服务器(正确安装和设置 MySQL)并发出命令:

现在应该可以在 newstack 数据库中找到 newstack-backup.sql 中的数据。

如何自动备份

您不想记住手动备份数据库,因此让我们在 cron 的帮助下自动实现这一点。

我们将备份设置为每天凌晨 1 点运行。为此,请使用以下命令打开 crontab 文件进行编辑:

crontab -e

在该文件的底部,我们将添加以下行:

  • PASSWORD 是您的 MySQL root 用户密码。
  • USER 是您在本地 Linux 系统上的用户名。

保存并关闭文件。现在,您的 MySQL 数据库将在每天凌晨 1 点备份到 /home/USER 目录中。您可以修改上述命令以将备份转储到您选择的任何目录中。

要记住的一件事是 crontab 条目每晚都会覆盖备份,因此您可以创建另一个 crontab 作业,然后移动和重命名数据库文件。这样的 crontab 条目可能看起来像这样:

这会将文件从 newstack-backup.sql 重命名为
newstack-backup-YYYYMMDD.sql
(其中 YYYY 是年份,MM 是月份,DD 是日期)。

如何备份 MariaDB 数据库

作为 MySQL 的衍生产品,MariaDB 有一个名为 mariadb-dump 的内置备份工具,它也非常易于使用。假设我们要备份一个同名的数据库。为此,您需要一个对要备份的数据库具有权限的 MariaDB 用户。

有了这个,你可以像这样备份 newstack 数据库:

  • PASSWORD 是 MariaDB 管理员用户密码。
  • USER 是您的 Linux 用户名。

然后,您可以像这样恢复备份:

如何自动化 MariaDB 备份

此作的处理方式与 MySQL 备份的处理方式相同。使用以下命令打开 crontab 文件进行编辑:

crontab -e

如果您希望 MariaDB 备份在凌晨 1 点运行,则条目将如下所示:

  • PASSWORD 是您的 MariaDB root 用户密码。
  • USER 是您在本地 Linux 系统上的用户名。

然后,您可以创建另一个 cron 作业,以与上面对 MySQL 相同的方式移动和重命名备份文件。

为您的数据库创建可靠的备份系统与创建标准数据备份一样重要。尽管您可能认为简单地依赖常规备份过程来包含数据库很容易,但使用上面显示的方法可以确保数据不仅得到备份,而且能够轻松恢复。这种内心的平静无与伦比。

相关推荐

0722-6.2.0-如何在RedHat7.2使用rpm安装CDH(无CM)

文档编写目的在前面的文档中,介绍了在有CM和无CM两种情况下使用rpm方式安装CDH5.10.0,本文档将介绍如何在无CM的情况下使用rpm方式安装CDH6.2.0,与之前安装C5进行对比。环境介绍:...

ARM64 平台基于 openEuler + iSula 环境部署 Kubernetes

为什么要在arm64平台上部署Kubernetes,而且还是鲲鹏920的架构。说来话长。。。此处省略5000字。介绍下系统信息;o架构:鲲鹏920(Kunpeng920)oOS:ope...

生产环境starrocks 3.1存算一体集群部署

集群规划FE:节点主要负责元数据管理、客户端连接管理、查询计划和查询调度。>3节点。BE:节点负责数据存储和SQL执行。>3节点。CN:无存储功能能的BE。环境准备CPU检查JDK...

在CentOS上添加swap虚拟内存并设置优先级

现如今很多云服务器都会自己配置好虚拟内存,当然也有很多没有配置虚拟内存的,虚拟内存可以让我们的低配服务器使用更多的内存,可以减少很多硬件成本,比如我们运行很多服务的时候,内存常常会满,当配置了虚拟内存...

国产深度(deepin)操作系统优化指南

1.升级内核随着deepin版本的更新,会自动升级系统内核,但是我们依旧可以通过命令行手动升级内核,以获取更好的性能和更多的硬件支持。具体操作:-添加PPAs使用以下命令添加PPAs:```...

postgresql-15.4 多节点主从(读写分离)

1、下载软件[root@TX-CN-PostgreSQL01-252software]#wgethttps://ftp.postgresql.org/pub/source/v15.4/postg...

Docker 容器 Java 服务内存与 GC 优化实施方案

一、设置Docker容器内存限制(生产环境建议)1.查看宿主机可用内存bashfree-h#示例输出(假设宿主机剩余16GB可用内存)#Mem:64G...

虚拟内存设置、解决linux内存不够问题

虚拟内存设置(解决linux内存不够情况)背景介绍  Memory指机器物理内存,读写速度低于CPU一个量级,但是高于磁盘不止一个量级。所以,程序和数据如果在内存的话,会有非常快的读写速度。但是,内存...

Elasticsearch性能调优(5):服务器配置选择

在选择elasticsearch服务器时,要尽可能地选择与当前业务量相匹配的服务器。如果服务器配置太低,则意味着需要更多的节点来满足需求,一个集群的节点太多时会增加集群管理的成本。如果服务器配置太高,...

Es如何落地

一、配置准备节点类型CPU内存硬盘网络机器数操作系统data节点16C64G2000G本地SSD所有es同一可用区3(ecs)Centos7master节点2C8G200G云SSD所有es同一可用区...

针对Linux内存管理知识学习总结

现在的服务器大部分都是运行在Linux上面的,所以,作为一个程序员有必要简单地了解一下系统是如何运行的。对于内存部分需要知道:地址映射内存管理的方式缺页异常先来看一些基本的知识,在进程看来,内存分为内...

MySQL进阶之性能优化

概述MySQL的性能优化,包括了服务器硬件优化、操作系统的优化、MySQL数据库配置优化、数据库表设计的优化、SQL语句优化等5个方面的优化。在进行优化之前,需要先掌握性能分析的思路和方法,找出问题,...

Linux Cgroups(Control Groups)原理

LinuxCgroups(ControlGroups)是内核提供的资源分配、限制和监控机制,通过层级化进程分组实现资源的精细化控制。以下从核心原理、操作示例和版本演进三方面详细分析:一、核心原理与...

linux 常用性能优化参数及理解

1.优化内核相关参数配置文件/etc/sysctl.conf配置方法直接将参数添加进文件每条一行.sysctl-a可以查看默认配置sysctl-p执行并检测是否有错误例如设置错了参数:[roo...

如何在 Linux 中使用 Sysctl 命令?

sysctl是一个用于配置和查询Linux内核参数的命令行工具。它通过与/proc/sys虚拟文件系统交互,允许用户在运行时动态修改内核参数。这些参数控制着系统的各种行为,包括网络设置、文件...

取消回复欢迎 发表评论: