1

我设法在 Digital-Ocean 上创建了一个 droplet,并设法将我的 Node JS 应用程序克隆到它上面。在本地,该应用程序连接到 MySQL 数据库,我希望在实时版本上也是如此。不知不觉中,我尝试创建一个托管数据库集群,并添加了 1 个用户帐户并创建了 1 个数据库。现在我不知道如何将导出的database.sql文件导入数据库,因为我只习惯于 phpMyAdmin。

我怎样才能让它工作并连接到我的 NodeJS 应用程序?

4

2 回答 2

2

您将phpmyadmin其用作交互式 Mysql 客户端程序。它易于使用但难以设置,因为它是一个网络应用程序。

尝试另一个 MySql 客户端程序。令人难忘的命令行客户端mysql是一个不错的选择。

在你的液滴上放一个外壳,然后说

sudo apt install -y mysql-client
mysql -u username -p -h databasehostname -D database
mysql> source database.sql
mysql> quit

系统将提示您输入数据库密码。

那应该导入您的数据库。

命令行mysql程序非常有用,值得您花一些时间学习使用。

于 2020-07-04T12:21:24.177 回答
1

首先,通过使用 DigitalOcean 数据库添加数据库防火墙,确保您的数据库集群不对外开放。您可以允许来自您自己的 droplet 的私有 IP 地址和您自己的公共地址(或 VPN 或您的设置方式)的连接。完成后,您应该能够在本地导入您的 SQL 文件(或从 DO Droplet,只要您安装了 mysql 客户端):

mysql -h [host-provided-do] -P [port-provided-do] -u [username-provided-do] -p [db-name-provided-do] < my-file.sql

最重要的是确保您的托管数据库不对外界开放,并确保它只允许来自已知 IP 地址的传入连接。

在您的 NodeJS 应用程序中,您可以将驱动程序设置为连接到 DO 提供的私有子网。

于 2020-07-04T12:13:04.563 回答