📄 一句话概括
自己管数据库服务器,操心的事可以归成三类:别断(电源)、别被坏(病毒与入侵)、别算错账(成本)。
📝 本节和前面几节的关系
6-1 选了「内部部署」,本节接着列出自己机房要扛的全部责任清单——这三类恰恰是云厂商合同里承诺替你办掉的事,对照着看,就明白「云」到底买走了什么。本节是 6-3(细算成本)和 6-4 起(安全手段)的目录页。
一、电源:电是数据库的第一口空气
- UPS(不间断电源):停电瞬间由电池顶上,给你时间正常关机——正常关机很关键,硬断电可能把正在写的数据写坏(第四章事务的存在,就是为这种事故兜底的最后防线)
- 发电机:长时间停电的第二梯队
- 双路供电:两路市电,一路断了另一路顶
- 实际教训:机房着火/断电导致数据库损坏的新闻,几乎每年都有
二、计算机病毒与非法入侵
- 数据库服务器不该上随便浏览网页——暴露面越小越安全
- 操作系统补丁要跟上(6-9 版本升级专门讲)
- 数据库自身的账号要管好:默认密码必须改、用不到的账号要删(6-4 权限展开)
- 端口只对内开放:数据库端口(如 MySQL 的 3306)不应直接暴露在公网
三、成本:三类账要算清
| 成本项 | 内容 | 特点 |
|---|---|---|
| 硬件购置 | 服务器、UPS、空调、机柜 | 一次性大额 |
| 电费与场地 | 24 小时运转的电费、机房空间 | 持续小额,积少成多 |
| 人力 | DBA、运维人员的工资 | 往往是最大头 |
四、动手 Demo:给自己公司的「迷你机房」做巡检表
不用真服务器,用纸面推演。假设你负责一台放 SQLite 书评网站库的旧笔记本:
巡检项 检查方法 不过关怎么办
────────────────────────────────────────────────────
电源 是否接了带电池的排插? 加 UPS 或至少加电池
病毒/入侵 系统更新开没开?防火墙呢? 打开自动更新
账号 SQLite 无账号;笔记本登录口令? 设强口令
成本 电费忽略不计;时间成本呢? 换成云服务更划算?
【准备块】无——巡检表本身就是结论。
五、30 秒实验
打开你家的路由器管理页,看看有没有设备开放了奇怪的端口——这就是「端口暴露」的最小体验。想一个问题:如果你家 NAS 上存了数据库,为什么不该把它的管理页直接映射到公网?
六、常见误区
- 「事务能防断电坏数据,所以 UPS 可省」:事务保证的是不写坏(一致性),但保证不了不丢失(没写进去的那部分就没了);UPS 是第一道防线,事务是最后一道
- 「内网机器不会中毒」:U 盘、邮件附件、内网横向传播都是路;离线 ≠ 安全
- 「成本只算买服务器的钱」:人力与电费常年跑赢硬件,算总账才算得对
自测三问
1. 断电时事务和 UPS 各保什么?(UPS 保「不断电有逃生时间」;事务保「万一硬断,已提交的不坏、未提交的不算」) 2. 数据库端口 3306 为什么不该对公网开放?(缩小暴露面,避免被扫描爆破——访问应走内网/跳板) 3. 自管服务器的三类成本?(硬件购置、电费场地、人力——人力常是最大头)- ☐ 下一节(6-3 初始成本、运行成本-数据库运行成本)
相关笔记
- 内部部署、云服务-放置数据库的场所 —— 上一节:选了内部部署才轮到本节这份责任清单
- 事务-集中执行无法分割的处理 —— 硬断电时兜底数据一致性的最后一道防线
- 用户、权限-根据用户更改允许访问的范围 —— 「别被坏」的正解:从账号与权限下手
- 🗄️ 数据库基础 · 索引 —— 全课路线图