我已经设法在Digital-Ocean上创建了一个小滴,并设法将我的Node JS应用程序克隆到它上。 在本地,应用程序连接到MySQL数据库,我想在live版本上也是如此。 不知不觉中,我试图创建一个托管数据库集群,我这样做了,并添加了一个用户帐户,创建了一个数据库。 现在我还不知道如何将导出的database.sql
文件导入数据库,因为我只习惯于PHPMyAdmin。
我怎样才能让它工作并连接到我的NodeJS应用程序呢?
首先,通过添加使用DigitalOcean数据库的DB防火墙,确保您的数据库集群不对外开放。 您可以允许从您自己的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提供的私有子网。
您使用phpMyAdmin
作为交互式Mysql客户机程序。 它很容易使用,但很难设置,因为它是一个web应用程序。
尝试另一个MySql客户端程序。 命令行客户机是一个很好的选择,它的名字叫MySQL
,令人难忘。
在你的小水滴上弄一个贝壳,然后说
sudo apt install -y mysql-client
mysql -u username -p -h databasehostname -D database
mysql> source database.sql
mysql> quit
系统将提示您输入数据库密码。
应该导入您的数据库。
MySQL
命令行程序非常有用,值得您花一些时间去学习使用。