如何保证自己架设的 MySQL 稳定?

2019-12-30 14:20:35 +08:00
 evilic

事情是这样的:我个人有两台国内服务器,还有两台国外服务器(其中一台的作用大家都懂的)。由于使用率不高,想节约成本,在自己家的电脑上用虚拟机搭建服务器,然后砍掉一台国内服务器,只剩下一台国内服务器用于保留备案记录,另外剩下一台国外服务器用于你懂的。

网站什么的都迁移完成了。我家用的联通宽带,有公网 IP,只是无法使用标准端口,但是这个 nginx 直接通过正常服务器传递参数过来就好了,客户也看不到。

但现在有一个问题:我有一个 mysql 服务想迁移到我的本地,但由于家用电脑可能会更新或断电,导致可能无法提供稳定的远程连接。请问,各位有什么好的办法可以解决这个问题吗?

我设想过直接使用云数据库,但是我看说明,云数据库是不是只能内网连接啊……

2983 次点击
所在节点    问与答
20 条回复
nrtEBH
2019-12-30 14:21:42 +08:00
云数据库可以外网连接 你也可以在通内网的机器上装个代理把端口暴露出去
lhx2008
2019-12-30 14:23:46 +08:00
没有办法保证你家里的数据库稳定。。可以弄个监控报警吧
云数据库暴露在公网不是一个好的行为,但是也是可以用云主机做代理暴露出公网的
evilic
2019-12-30 14:26:06 +08:00
@nrtEBH 我现在就是把我的虚拟机上跑的 mysql 直接暴露出去的。但是我怕断电或更新或断网,而人又可能不再电脑前,导致我自己要运行的程序中断……
所以在想,有没有什么办法能够保证运行……

阿里云的 ECS 可不稳定,有时数据库会直接连不上。我看机器的负载也不高。可能是网络的原因。
wafm
2019-12-30 14:27:41 +08:00
技术 100 分,稳定性 0 分。

首先电的问题,你真的没法保证能够 7x24 不断电,意外断电最伤的是害怕硬盘被搞坏,数据无价,谨慎!

其次是网的问题,如果哪天流量大了,被运营商拉黑了,或者说维护断网,造成的损失你是否能够承受?

我很久之前也用过家用 pc 作为负载服务器使用,后面经历了一次掉数据和被电信拉黑,我就再也不想为了省点钱而自己都睡得不安稳折腾了,这个钱还是得给机房赚。。。
evilic
2019-12-30 14:31:39 +08:00
@lhx2008 我想了各种办法,也确实没有更好的办法。我在想要不要让我的本地和云服务器上各跑一份同步并且热备……不过这样的话,我怕原本性能就不中的 ECS 又恢复到被拖的状态……
evilic
2019-12-30 14:36:59 +08:00
@wafm 数据上我这边还是能保证的,我有群晖,虚拟机的磁盘我是定期群晖多盘备份的。数据库群晖也有备份,但我不想直接把群晖的数据库暴露在公网上……
运营商拉黑端口这个也是可以解决的,因为我本身用的就是 NAT,虚拟机里的服务一直都是运行在标准端口的。所以哪个端口被拉黑的话,直接在路由上改端口就好了,这个速度比较快……再不行,直接 upnp……
wafm
2019-12-30 14:59:05 +08:00
@evilic 还是技术 100 分,稳定性 0 分。

你试着跑一下就知道了,运维的痛苦
wafm
2019-12-30 14:59:35 +08:00
@evilic 出门总提心吊胆家里服务器出问题的痛苦
msg7086
2019-12-30 15:04:14 +08:00
你要把机房里的设施搬到家里,那不就是把家里搞得和机房一样吗。

恒温恒湿,双路市电,PDU 接 UPS,再配一个柴油发电机组,最好再弄个人 24 小时值班。

(机房这么可靠的环境为什么要选择在家搞呢。)
evilic
2019-12-30 15:06:12 +08:00
@wafm 哈哈,我运行的都是个人博客之类的网站,所以站点不怕不小心掉线……而且我已经把原来 wordpress 的站点改成 hexo 了……这些都不主要,都好弄。

只有数据库我比较担心……刚刚听上面介绍说云数据库可以开外网,我正在考虑把一台国内的 ECS 拆成 RDS 和虚拟主机。
RDS 首次半年 10 块钱,之后一月 45 块,看着还能接受。
evilic
2019-12-30 15:09:46 +08:00
@msg7086 运行的都不是什么主要的网站,所以我不担心站点。正在看云数据库中。

之所以这样,是因为方便呀。家里电脑 32G 内存,可以分给虚拟机更多的资源。同样配置的 ECS,贵,而且也没有想象中的稳定性能。事件事情就相当于释放掉那些不必要的资源,不是纯粹的为迁移而迁移的。
xsm1890
2019-12-30 15:11:55 +08:00
基础设施环境如电力、网络等是数据库稳定的基础吧。。
evilic
2019-12-30 15:24:29 +08:00
已开通了 RDS 半年体验,看看效果吧……
evilic
2019-12-30 16:08:38 +08:00
联通 IPv6 不封端口,解析 IPv6 可以直接标准端口对外提供服务。
stevenkang
2019-12-30 16:28:53 +08:00
200M 超大空间,20 M 海量 MySQL 数据库,10 G / 月超大带宽。¥ 5 / 年。家里面用了一台电信盒子跑开发数据库( MySQL ),自己个人网站就靠这个 5 元每年的(阿里云)虚拟空间了。
evilic
2019-12-30 16:35:12 +08:00
@stevenkang 我看行!这次费用用完之后,全静态上虚拟空间~
msg7086
2019-12-30 19:39:11 +08:00
@evilic #11 「同样配置的 ECS 」是说有 ECC 内存、志强 CPU、双路冗余电源、恒温恒湿环境、UPS 和发电机双备、冗余网络的 ECS 吗。
如果你不介意稳定性,当然可以放在自己机器上跑了。
但是为什么又要问怎么保证稳定呢……

而且跑服务的机器,最少也要上个 UPS 吧。
ECC 内存,志强 CPU,冗余电源,恒温恒湿,冗余网络什么的咱们都先不提……
一个 UPS 才几百,至少能保证断电的时候不丢数据或者损坏文件系统。

我们公司有个很小的自建机房,跑一些不重要的东西,比如测试机。4 个机架零零散散放了一堆志强,插了总共 3T 多的 REG ECC 内存,9 台 2200VA 的 UPS,一台小功率柴油发电机,8 个简易 PDU,两台空调。属于够不上生产环境但是拿来玩玩还是可以的机房设施。
commoccoom
2019-12-30 20:46:33 +08:00
@stevenkang 阿里云有 5 元一年的虚拟空间?
alcarl
2019-12-30 20:51:55 +08:00
博客这种性能和存储需求都不大的话,直接在云主机上装个 msql 就可以解决问题。如果满足不了必须在家里搭起来,保持稳定这个事情主要有两个方面问题,一个是电源问题,一个是网络问题
电源问题,由于目前大城市一年断电次数十分有限,我这边的 ups 看一年也没有断过了,有个家用的 ups 或者弄个笔记本电脑就差不多了。如果所在城市电力确实不稳定,可以考虑从两方面下手一个是降低负载弄个笔记本或者树莓派尽量降低耗电,另外就是淘一个外接电池的 ups 多接几个电池,从我的经验看,大城市这方面基本不需要考虑,做个应急方案应对万一挂掉情况即可。
另外一方面是网络问题,家里一个宽带偶尔会波动,最好可以弄俩宽带或者上一个 4g 路由,双线通过两个点到点连接,然后再两边都加两条路由,做自动切换。应该差不多了
发电机服务器什么的就没必要了。。。。。那是公司的需求,自己有这钱阿里云上直接买多么好。。。。
HTSdTt3WygdgQQGe
2019-12-30 21:05:03 +08:00
我有一台长期云服务器,可以帮你用 docker 搭建一个数据库

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/633547

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX