📜  将本地 sql 导入远程 mysql (1)

📅  最后修改于: 2023-12-03 15:39:19.236000             🧑  作者: Mango

将本地 SQL 导入远程 MySQL

在开发过程中,我们经常需要将本地数据库中的数据导入到远程服务器的 MySQL 数据库中。这个过程如果手工一条一条执行 SQL 语句,效率会比较低,因此我们需要用到一些工具或者技巧来快速地完成这项任务。

1. 工具方式:使用 Navicat 工具导出 SQL

Navicat 是一款强大的 MySQL 管理工具,它可以帮助我们快速地导出本地 SQL 数据库文件,并且可以一键导入到远程 MySQL 数据库中。

步骤如下:

  1. 打开 Navicat 工具,连接到本地 MySQL 数据库。
  2. 在左侧导航栏上,依次选择要导出的数据库 -> 右键 -> Export SQL File。
  3. 在导出 SQL 文件的设置页面上,选择要导出的表,可以勾选选项包括数据、表结构、完整性约束、索引等。
  4. 点击“Next”进入下一页,选择导出 SQL 文件的路径和文件名,并勾选“Export to a single file”也就是将多个表导出到同一个 SQL 文件中。
  5. 点击“Next”进入下一页,设置导出 SQL 文件的字符集和格式。
  6. 点击“Export”开始导出 SQL 文件,等待导出完成。
  7. 在 Navicat 中连接到远程 MySQL 数据库,右键选择该数据库,然后选择“Execute SQL File”,选择要导入的 SQL 文件即可。
步骤如下:

1. 打开 Navicat 工具,连接到本地 MySQL 数据库。
2. 在左侧导航栏上,依次选择要导出的数据库 -> 右键 -> Export SQL File。
3. 在导出 SQL 文件的设置页面上,选择要导出的表,可以勾选选项包括数据、表结构、完整性约束、索引等。
4. 点击“Next”进入下一页,选择导出 SQL 文件的路径和文件名,并勾选“Export to a single file”也就是将多个表导出到同一个 SQL 文件中。
5. 点击“Next”进入下一页,设置导出 SQL 文件的字符集和格式。
6. 点击“Export”开始导出 SQL 文件,等待导出完成。
7. 在 Navicat 中连接到远程 MySQL 数据库,右键选择该数据库,然后选择“Execute SQL File”,选择要导入的 SQL 文件即可。
2. 命令行方式:使用 mysqldump 和 mysql 命令导出和导入 SQL 数据库文件

如果我们不想使用第三方工具,可以选择使用命令行的方式完成导入导出任务。这种方式需要我们输入一些命令,但是经过一些尝试和练习,同样可以快速地完成任务。

步骤如下:

  1. 打开终端或者命令行界面,输入以下命令导出本地 SQL 数据库为 SQL 文件:
mysqldump -h localhost -u root -p dbname > dbname.sql

解释一下这个命令的含义:

  • mysqldump 表示导出数据库命令;
  • -h localhost 表示连接的主机名,因为是本地,所以填写 localhost;
  • -u root 表示连接 MySQL 数据库时使用的用户名;
  • -p 表示连接 MySQL 数据库时使用的密码,需要在后面输入;
  • dbname 表示要导出的本地 SQL 数据库名称;
  • > dbname.sql 表示要将导出的 SQL 数据库文件存储在哪个文件中,这里是在当前目录下,文件名为 dbname.sql。
  1. 将生成的 SQL 文件传输到远程服务器上。可以使用 sftp 或者 scp 命令,也可以使用 ftp 工具导出。
  2. 在远程服务器上打开终端或命令行界面,输入以下命令导入 SQL 文件:
mysql -h 远程服务器IP地址 -u 远程服务器用户名 -p 远程服务器中的数据库名称 < 本地SQL文件名称.sql

解释一下这个命令的含义:

  • mysql 表示导入命令;
  • -h 远程服务器IP地址 表示连接的服务器 IP 地址;
  • -u 远程服务器用户名 表示连接 MySQL 数据库时使用的用户名;
  • -p 表示连接 MySQL 数据库时使用的密码,需要在后面输入;
  • 远程服务器中的数据库名称 表示要导入的远程 MySQL 数据库名称;
  • < 本地 SQL 文件名称.sql 表示从本地文件中导入 SQL 数据库。
步骤如下:

1. 打开终端或者命令行界面,输入以下命令导出本地 SQL 数据库为 SQL 文件:

    mysqldump -h localhost -u root -p dbname > dbname.sql

   解释一下这个命令的含义:

   - `mysqldump` 表示导出数据库命令;
   - `-h localhost` 表示连接的主机名,因为是本地,所以填写 localhost;
   - `-u root` 表示连接 MySQL 数据库时使用的用户名;
   - `-p` 表示连接 MySQL 数据库时使用的密码,需要在后面输入;
   - `dbname` 表示要导出的本地 SQL 数据库名称;
   - `> dbname.sql` 表示要将导出的 SQL 数据库文件存储在哪个文件中,这里是在当前目录下,文件名为 dbname.sql。

2. 将生成的 SQL 文件传输到远程服务器上。可以使用 sftp 或者 scp 命令,也可以使用 ftp 工具导出。
3. 在远程服务器上打开终端或命令行界面,输入以下命令导入 SQL 文件:

    mysql -h 远程服务器IP地址 -u 远程服务器用户名 -p 远程服务器中的数据库名称 < 本地SQL文件名称.sql

   解释一下这个命令的含义:

   - `mysql` 表示导入命令;
   - `-h 远程服务器IP地址` 表示连接的服务器 IP 地址;
   - `-u 远程服务器用户名` 表示连接 MySQL 数据库时使用的用户名;
   - `-p` 表示连接 MySQL 数据库时使用的密码,需要在后面输入;
   - `远程服务器中的数据库名称` 表示要导入的远程 MySQL 数据库名称;
   - `< 本地 SQL 文件名称.sql` 表示从本地文件中导入 SQL 数据库。