在家中为宠物项目托管数据库

Posted

技术标签:

【中文标题】在家中为宠物项目托管数据库【英文标题】:Hosting a database at home for a pet project 【发布时间】:2021-03-14 17:27:35 【问题描述】:

我正在做一个宠物项目,可能会或可能不会被任何人使用,这取决于它的好坏。我目前正在云提供商上运行一个 mysql 实例,即使我几乎不使用该实例,甚至其中没有任何数据,我也开始意识到数据库并不便宜。我每月在 AWS 上花费大约 20 美元,几乎没有使用任何东西。我想看看我是否可以在家里运行一个 MySQL 服务器并使用静态 IP 完成我的工作,直到应用程序准备好迎接黄金时段。我确实需要一个静态 IP,因为我的应用程序托管在 Vercel 和 Heroku 之类的东西上,它们需要与数据库通信。另外,如果我只是在家里一台运行 MySQL Server 的机器上打开 MySQL 端口,会不会有任何安全风险?

【问题讨论】:

aws.amazon.com/free 包含一个免费的 RDS 实例,只要您使用正确的大小。 我的 AWS 免费套餐已完成。 1年了?我确实需要一个 5MB 或更少的数据库,但必须为此付出很多。 您可以在您的 EC2 实例上运行 MySQL。不会比现有实例多花一分钱;你不必做 RDS。 【参考方案1】:

我一直在我的家用机器上运行 MySQL。有几次,我在路由器/防火墙中打开了一个端口以提供外部访问。这很慢,但它确实有效。

如果你这样做,你会很聪明地使用一些随机选择的奇怪端口号而不是 3306。减慢网络爬虫和脚本小子的速度。

如果我是你,我会非常小心地在任何对公共网络开放的 MySQL 实例上存储机密或不可替代的数据。 (“非常小心”=== 不要这样做。)您应该考虑在 MySQL 上创建特定于主机的帐户,例如,

CREATE USER 'herokuApp'@'192.0.2.123' IDENTIFIED BY 'REDACTED';

192.0.2.123 是 Heroku dyno 的 IP 地址。为该用户提供必要的最低权限,以使事情正常进行并在您自己的环境或机器上进行管理。

您知道,Heroku 的 postgreSQL 服务有免费套餐。也许这是个好方法?

另一种可能的选择:在 AWS、DigitalOcean 或其他地方的每月 5 美元的 VM 上建立您自己的 MySQL 服务器。不是免费的,但更便宜。

然后,请阅读:Mysql adding user for remote access

【讨论】:

以上是关于在家中为宠物项目托管数据库的主要内容,如果未能解决你的问题,请参考以下文章

由于某种原因,托管对象上下文在 iOS 中为零

mac下解决中文乱码的问题

基于springboot+bootstrap+thymeleaf的物联网一站式宠物管理平台(领养救助商城)设计 毕业论文+用户手册+源码清单+项目源码及数据库文件

计算机毕业设计宠物商城系统ssm框架java项目mysql数据库

Swift Core Data:自动生成托管对象子类使类名在模型中为 PRODUCT_MODULE_NAME.entityName

java程序设计题,设计一个宠物商店,内有猫和狗两种宠物,研究名字、颜色和年龄等属