📅  最后修改于: 2023-12-03 15:39:19.236000             🧑  作者: Mango
在开发过程中,我们经常需要将本地数据库中的数据导入到远程服务器的 MySQL 数据库中。这个过程如果手工一条一条执行 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 文件即可。
如果我们不想使用第三方工具,可以选择使用命令行的方式完成导入导出任务。这种方式需要我们输入一些命令,但是经过一些尝试和练习,同样可以快速地完成任务。
步骤如下:
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。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 数据库。