Mysql数据备份-定时自动备份dump备份命令

2023-11-17

  1. 登录数据库服务器并打开命令行工具(如Windows系统中的cmd.exe)或图形化管理工具(如phpMyAdmin、Navicat等)。

  2. 根据数据库类型,执行相应的备份命令。例如,MySQL数据库可以使用以下命令导出备份:

    mysqldump -u [用户名] -p [密码] [数据库名] > [备份文件名].sql

    其中,[用户名]和[密码]是指能够访问数据库的用户名和密码,[数据库名]是指要备份的数据库名称,[备份文件名]是指备份文件的名称。

  3. 执行备份命令后,系统会提示输入密码(如果有),输入密码并按回车键。

  4. 等待备份过程完成,备份文件会被保存在指定的文件路径下。

执行备份命令时,还可以设置一些选项,如:

  • 添加“--single-transaction”选项可以使用事务来确保备份的一致性。

  • 添加“--compress”选项可以压缩备份文件,以减少文件大小。

  • 添加“-t”选项可以仅备份指定的表。

备份完成后,可以将备份文件拷贝到远程服务器或备份介质上,以确保数据的安全性。恢复数据时,只需将备份文件导入数据库即可。

在Linux服务器上可以使用crontab工具来定时执行数据库dump备份。

  1. 打开终端并输入以下命令,以编辑定时任务列表:

    crontab -e
  2. 在弹出的编辑器中,输入以下备份命令并设置备份的执行时间。例如,以下命令将每天都在晚上11点执行备份:

    0 23 * * * mysqldump -u [用户名] -p [密码] [数据库名] > [备份文件名].sql

    其中,“0 23 * * *”表示在每天的23:00执行备份,[用户名]和[密码]是指能够访问数据库的用户名和密码,[数据库名]是指要备份的数据库名称,[备份文件名]是指备份文件的名称。

  3. 输入“Ctrl + X”并按“Y”确认保存,然后按“Enter”键退出编辑器。

此时,系统会在每天的23:00执行一次备份任务。如果需要更改备份时间或其他任务信息,可以再次执行“crontab -e”打开编辑器进行修改。

MySQL数据库的Shell脚本,可以放在Linux服务器上定时执行。该脚本将数据库备份文件保存在指定的目录下,并按照日期和时间进行命名:

#!/bin/bash
​
# 将当前日期和时间存储到变量中
timestamp=$(date +%Y-%m-%d_%H-%M-%S)
​
# 指定备份保存的目录,如果该目录不存在,则创建新目录
backup_dir="/var/backups/mysql"
if [ ! -d "$backup_dir" ]; then
  mkdir -p "$backup_dir"
fi
​
# 指定MySQL数据库的用户名、密码和备份数据库的名称
db_user="root"
db_password="password"
db_name="database_name"
​
# 指定备份文件的名称及路径
backup_file="$backup_dir/$db_name-$timestamp.sql"
​
# 使用mysqldump命令备份数据库,并输出到指定的文件中
mysqldump -u$db_user -p$db_password $db_name > $backup_file
​
# 进行备份文件的压缩
gzip $backup_file
​
# 输出备份完成信息
echo "MySQL backup completed: $backup_file.gz"

保存以上脚本为backup_mysql.sh,并使用以下命令添加执行权限:

chmod +x backup_mysql.sh

然后可以使用crontab将该脚本添加到定时任务列表中,例如:

0 1 * * * /path/to/backup_mysql.sh

以上命令表示每天的凌晨1点执行一次备份脚本。可以根据实际需求进行修改。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Mysql数据备份-定时自动备份dump备份命令 的相关文章

  • SQLAlchemy - 批量插入忽略:“重复条目”

    我有一个名为user data 列id and user id作为唯一的密钥 我想将一些历史数据导入到该表中 我用批量插入映射 http docs sqlalchemy org en rel 1 0 orm session api html
  • 在 Mysql 上使用 EntityManager JPA 运行脚本

    我正在尝试运行脚本 sql 文件 但由于我尝试了多种方法 因此出现多个错误 这是我的主要 sql 脚本 INSERT INTO Unity VALUES 11 paq 0 2013 04 15 11 41 37 Admin Paquete
  • 自动删除主键序列中的间隙

    我正在创建一个网页 该网页根据用户操作将数据存储到 MySQL 数据库中 数据库有很多行 行的主键是列 rowID 它只是按顺序对行进行编号 例如 1 2 3 4 用户可以选择删除行 问题是当用户删除最后一行以外的行时 rowID 中有一个
  • MySQL - 选择一行 - 然后相对于所选行的下一个和上一个

    我会尽力澄清这一点 我需要在不使用 id 的情况下选择特定行和该选定行的前一个相对行以及该选定行的下一个相对行 这可能吗 简而言之 上一篇和下一篇 我不能 也许我只是不知道如何 使用 id 的原因是因为它们不是按顺序排列的 正如您从这个相当
  • 何时在 mysql 中使用 Union [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 对于 Union 您会在什么现实情况下使用它 因为对我来说 对具有不同列用途 含义的两个表中的两个选择查询使用联合是没有意义的 例如
  • 如何使用wireshark清晰捕获mysql查询sql

    因为我们使用远程开发Mysql服务器 所以不能轻易检查查询sql 如果使用本地服务器可以tail f general log file查看调用某个http接口时执行了哪些sql 所以我安装了一个wireshark捕获这些从本地发送的查询sq
  • 如何将行变成列?

    我有一个数据库 其中存储分组到项目中的关键字以及与每个关键字相关的数据 然后我显示每个项目的数据网格 每个关键字一行和几列 全部从同一个表 数据 中检索 我有 4 个表 关键字 项目 group keywords 和数据 keywords
  • oursql 中的参数化查询

    如果有人能告诉我是否可以使用命名占位符进行参数化查询 我将不胜感激oursql 一个用于与 MySQL 数据库交互的 python 模块 例如 我尝试了一种可以与 sqlite3 一起使用的查询 c execute select from
  • 在MySQL中生成随机字符串

    我正在尝试使用函数在 phpmyadmin 中获取随机字符串 我有以下代码 CREATE FUNCTION randomPassword RETURNS varchar 128 BEGIN SET chars ABCDEFGHIJKLMNO
  • mysql表中的数据非常大。即使 select 语句也需要很多时间

    我正在开发一个数据库 它是一个相当大的数据库 有 13 亿行和大约 35 列 这是我检查表状态后得到的结果 Name Table Name Engine InnoDB Version 10 Row format Compact Rows 1
  • 如何为我的整个 Node.js 应用程序使用相同的 MySQL 连接?

    我有一个app js 我从那里运行我的整个应用程序 在 app js 内部 我require许多文件中都有代码 对于每个文件 我都这样做 var mysql require mysql var mclient mysql createCon
  • MySQL 左连接 WHERE table2.field = "X"

    我有以下表格 pages Field Type Null Key Default Extra page id int 11 NO PRI NULL auto increment type varchar 20 NO NULL
  • 从 call_log 中获取最大并发通话数

    我需要帮助在 MySQL 5 0 77 中编写一个查询 根据下面所示的数据 办公室一天的通话量 返回并发电话呼叫的峰值数量 我只是想知道一天中任何特定时间同时打电话的人数最多是多少 首先 这是 MySQL 表 CREATE TABLE ca
  • 连接到 OpenShift (Redhat Paas) mysql 实例

    我正在尝试将我的 C 应用程序与 openshift 数据库连接 但我得到了这个例外conn Open Eccezione gt MySql Data MySqlClient MySqlException 0x80004005 Unable
  • meta_query,如何使用关系 OR 和 AND 进行搜索?

    已解决 请参阅下面的答案 我有一个名为的自定义帖子类型BOOKS 它有几个自定义字段 名称为 TITLE AUTHOR GENRE RATING 我该如何修复我的meta query下面的代码以便仅books在自定义字段中包含搜索词 tit
  • 如何删除 MySQL 数据库?

    你可能从我的上一个问题中注意到一个问题引发了更多的问题 在 MySQL 监视器中阅读 MySQL 手册 https stackoverflow com questions 1081399 我的数据库现在无法使用 部分原因是我想破坏东西并且无
  • MySql 视图脚本中的注释

    可以这样做吗 我尝试过多个 gui mysql workbench navicat toad for mysql 但没有一个保存这样的注释 something important select something else importan
  • 如何从表中检索特定列 --- JPA 或 CrudRepository?我只想从用户表中检索电子邮件列

    用户模型 Entity Table name user uniqueConstraints UniqueConstraint columnNames email public class User implements Serializab
  • 使用 MYSQL 将 h:mm pm/am 时间格式插入数据库

    我正在尝试将以 h mm am pm 格式写入的时间插入到存储为标准 DATETIME 格式 hh mm ss 的数据库中 但我不知道如何将发布的时间转换为标准格式所以数据库会接受它 这是我到目前为止一直在尝试的 title POST in
  • 使用用户定义函数 MySql 时出错

    您好 请帮我解决这个问题 提前致谢 我在数据库中定义了这些函数 CREATE FUNCTION levenshtein s1 VARCHAR 255 s2 VARCHAR 255 RETURNS INT DETERMINISTIC BEGI

随机推荐