网站首页 > 技术教程 正文
为您的数据库创建可靠的备份系统可以让您高枕无忧,而且使用 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 相同的方式移动和重命名备份文件。
为您的数据库创建可靠的备份系统与创建标准数据备份一样重要。尽管您可能认为简单地依赖常规备份过程来包含数据库很容易,但使用上面显示的方法可以确保数据不仅得到备份,而且能够轻松恢复。这种内心的平静无与伦比。
猜你喜欢
- 2025-07-06 如何用 NAS 搭建属于自己的云端书库
- 2025-07-06 linux 清空文件里面的内容(linux清空一个文件的内容)
- 2025-07-06 Rocky Linux 9常用命令备忘录(不定时更新)
- 2025-07-06 【信创】Linux系统如何配置USB存储禁用及例外 | 统信 | 麒麟 | 方德
- 2025-07-06 攻略技巧如何防止熊孩子"玩坏"你的电脑?
- 2025-07-06 77% 的 Linux 运维都不懂的内核问题,这篇全告诉你了
- 2025-07-06 Linux常见的目录及其作用(linux系统的目录结构和常用目录)
- 2025-07-06 Linux 磁盘和文件系统管理(linux磁盘管理软件)
- 2025-07-06 Linux磁盘管理(linux磁盘管理命令)
- 2025-07-06 Data 文件访问限制怎么解除(data文件访问限制怎么解除华为)
你 发表评论:
欢迎- 最近发表
-
- 搞懂linux awk的使用(linux awk $1)
- ZYNQ QSPI flash分区设置&启动配置
- Linux 的 18 个装 B 命令,记得全部搂一遍
- 【Linux】程序执行的黑魔法:五分钟彻底搞懂 Linux ELF 文件
- 聊一聊 Linux 上对函数进行 hook 的两种方式
- 第十二节 Ubuntu 系统 Docker 镜像安装与容器运行指南
- Linux常用场景-VIM文本编辑批量替换
- Linux 下使用 killall 命令终止进程的 8 大用法
- 告别Permission denied!手把手教你玩转Linux文件权限
- [Linux Shell]批量更改文件&文件夹 名大写为小写
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)
本文暂时没有评论,来添加一个吧(●'◡'●)