MySQL和MariaDB数据库的备份

2022-03-02 00:00:00 数据库 备份 节点 脚本 所需

当意识到数据可能会意外丢失,你是否会感到恐慌失措?


人为错误,恶意攻击,系统崩溃或灾难等都会在人们不期望的情况下发生。因此,始终为此类意外做好准备,保持新的数据备份对恢复能力非常重要。数据自动备份可确保及时保存数据副本,并且无需手动跟踪和设置。在本文中,我们将研究如何创建自动备份计划,并提供友好提示以进行数据备份与还原。


Jelastic PaaS提供了一个方便直接的脚本来备份MySQL和MariaDB数据库节点上的存储数据。因此,该过程就像提供所需参数一样简单,并且可以在几分钟内完成。不需要专业知识-只需按照设置步骤配置适当的cron表达式即可。


设置数据库备份


在本教程中,我们将使用Jelastic PaaS上为MySQL和MariaDB数据库节点提供的默认备份。


1.脚本的源代码可以直接在仪表板中查看。单击数据库旁边的“ 配置”按钮以打开内置文件管理器,然后找到/var/lib/jelastic/bin/backup_script.sh-文件。

提示:如果还没有MySQL或MariaDB数据库的环境,请按照数据库托管指南创建数据库。


2.为了自动执行脚本,我们将使用现成的容器中的cron计划程序。打开/var/spool/cron/mysql文件,并提供以下格式的cron表达式:

{frequency} {path to script} {script-parameters}



在这里,您可以将注释的示例用作模板来定义所需的参数:

{frequency}-  设置脚本执行的时间(有关详细信息,请参见上面链接的指南),例如

* / 10 * * * *

  • {path-to-script}  -指向所需的脚本(MariaDB和MySQL在/var/lib/jelastic/bin/backup_script.sh处为默认备份脚本)

  • {script-parameters}  -为定义脚本提供自定义参数;可以使用以下几种:

    • -m {mode}备份整个或部分数据库(分别为“ -m dumpall ”或“ -m dump ”)

    • -c {count}设置要保留的旧备份的数量(例如,“ -c 3 ”与近的备份一起保留3个旧备份)

    • -u {user}和-p {password}为数据库账号(可以在创建数据库后的邮件中找到)注:如果{password}包含特殊字符,则应在双引号中包含该字符。另外,由于cron的特殊性,你需要通过在%符号前面添加反斜杠来提供转义,例如-p“ passw \%rd ”。

    • -d {databases}和-t {tables}可以选择指定数据库表(“ -d db1 [,db2,db3…。] ”)或数据库中的表(“ -d db -t table1 [,table2,table3] …。] ”)备份

3.比如,要在默认脚本下每10分钟备份整个数据库,如下所示:

*/10 * * * * /var/lib/jelastic/bin/backup_script.sh -m dumpall -c 3 -u root -p passw0rd

保存设置以应用。


4.要将数据存储在其他某个节点或远程服务器上,为数据库配置适当的安装节点。

注意:安装节点文件夹中的现有数据都将替换为远程目录中的文件。


或者,也可以创建一个可从远程服务器运行的自定义备份脚本(建立连接需要数据库主机,用户和密码等信息)。


5.等待脚本执行(取决于配置的cron频率),然后到/ var / lib / jelastic / backup文件夹中查看。如果备份操作成功,你将在目录中看到相应的bz2压缩包存档。


下载数据库备份


从Jelastic容器中下载文件有多种选择:


1.直接的变体是直接在仪表板中使用配置文件管理器。

找到所需的文件,悬停在该文件上,然后从上下文菜单中选择“ 下载 ”即可。


2.另一个选项是使用SFTP / FISH连接到服务器。

可以在仪表盘中看到所需的访问详细信息。


3.还可以为数据库安装FTP组件,通过FTP来管理文件。

注意:此选项需要公有IP地址。如果需要它将在安装过程中自动附加到节点上。

根据项,还可以选择任何建议的选项。


从备份还原数据库


我们还可以轻松地从备份数据中给数据库还原。

1.创建数据库节点后,可以在邮件中获得问phpMyAdmin的控制面板。

2.从PMA找到“ 导入”选项卡,勾选“浏览”选项,然后使用“ 选择文件”按钮上传所需的备份文件。

来源 https://mp.weixin.qq.com/s/yIrL0f1y2KWGGN2ZO6B73Q

相关文章