MySQL 转储远程数据库

Rashmi Patidar 2023年1月30日 2022年5月13日
  1. 什么是 MySQL 转储
  2. MySQL Dump 的不同语法
  3. MySQL 从远程服务器转储到本地机器
MySQL 转储远程数据库

本文介绍如何转储 MySQL 远程数据库。

什么是 MySQL 转储

MySQL 转储是将 SQL 数据库和 MySQL 数据库包备份到另一台服务器的过程。该过程通常碰巧将记录从一个地方备份到其副本。

通常这个过程是计划好的并按时迭代。MySQL 为用户提供了 mysqldump 实用程序来重新创建具有权限的数据库。

该实用程序在系统中创建一个平面文件,其中包含所有 SQL 语句以重新生成架构。

转储所在的服务器不一定是 MySQL 服务器。DumpFile 是跟踪所有数据库和模式的文件。

在备份文件的帮助下,可以在另一个实例或服务器上重新创建数据库模式。该文件包含一组 SQL 语句,如 creatinginsert,它们在另一个位置重新填充类似的架构层次结构(数据库->表->视图->函数->记录)。

转储过程通常需要 30 分钟或更长时间,具体取决于数据库的大小。

MySQL 转储的先决条件是:

  1. 必须具有对数据库、函数、视图、触发器的所有访问权限才能使用该实用程序。
  2. 转储文件应该具有创建、更改、插入权限,因为它将重新创建新模式并且需要对它们进行更改和插入操作。

MySQL Dump 的不同语法

所有数据库的 MySQL 转储语法:

mysqldump [options] --databases database_name ... > backupFileName.sql

MySQL 转储表的语法:

mysqldump [options] database_name [table_name ...] > backupFileName.sql

MySQL 工作台的 MySQL 转储语法:

mysqldump [options] --all-databases > backupFileName.sql

上述语法形成了数据库、表和所有数据库的转储。其参数的解释如下。

  1. 关键字 mysqldump 必须始终位于开头。它表示 MySQL 语句要创建转储。它表示需要形成 SQL 转储。
  2. 后面跟关键字,options 是非强制属性,表示用户可以根据需要添加/删除 options。选项示例如下:
    2.1 命令 -u root -p 有连字符 u 和连字符 p 的选项来指示选项列表中的用户名和密码属性。root 是 MySQL 中设置的用户名,密码是用户的选择。
  3. --databases 关键字允许用户指定要备份的数据库名称,后跟数据库名称。
  4. 对于表的转储,指定数据库名称后跟表名,语法与上面给出的相同。
  5. 要创建工作台内所有数据库的备份,直接传递 --all-databases 文件中没有任何特定的数据库名称。
  6. > 符号指定第一部分的输出必须传递给运算符之后提供的文件。
  7. backupfileName.sql 是保存所有转储文件的文件名。文件名是相对路径而不是文件的绝对路径,它会在 MySQL 开发者工作台的 bin 文件夹中创建备份文件。

MySQL 从远程服务器转储到本地机器

MySQL 从远程服务器转储到本地机器的命令如下。

当远程服务器上没有安装 MYSQLdump 时,查询有效。在这种情况下,需要创建从本地机器到远程服务器的隧道,然后将数据转储到本地机器中。

LINUX 环境是 ssh 安全隧道的先决条件。ssh 命令也同样适用。

创建 ssh 隧道的命令如下。

ssh -f -L3310:localhost:3306 user@remote.server -N

ssh 关键字允许系统创建与远程服务器的安全加密连接。使用此命令,用户可以与任何知道服务器详细信息的远程计算机建立安全连接。

ssh 命令有多种可用选项。

  1. -f 选项使进程在进程实际执行之前进入后台。

  2. -L 选项指定本地或客户端机器端口将被转发到远程主机和服务器机器端口。

    在上面的查询中,端口 3310 是进程将启动的远程主机端口。端口 3306 是本地主机服务器端口。

  3. -N 选项用于安全转发端口。该命令是在本地和远程服务器之间创建一个隧道。

mysqldump -P 3310 -h 127.0.0.1 -u mysql_user -p database_name table_name

mysqldump 关键字声明主机创建数据库转储。一旦建立了安全连接,就会形成转储。

  1. -P 选项指定远程机器建立连接的端口。在上述情况下,端口是 3310
  2. -h 选项说明远程服务器的主机名。此处使用隧道过程建立连接。
  3. -u 选项表明参数 next 是帮助建立与远程服务器的安全连接的用户名。
  4. -p 选项说明连接远程服务器时要使用的密码。

上述语句中提供的数据库名和表名说明了要从远程服务器转储到本地计算机的表名。

Rashmi Patidar avatar Rashmi Patidar avatar

Rashmi is a professional Software Developer with hands on over varied tech stack. She has been working on Java, Springboot, Microservices, Typescript, MySQL, Graphql and more. She loves to spread knowledge via her writings. She is keen taking up new things and adopt in her career.

LinkedIn

相关文章 - MySQL Dump