豌豆Ai站群搜索引擎系统 V.25.10.25 网址:www.wd.chat

🗣 Wd提问: VPS搭建教程云数据库

🤖 Ai回答:
这是一份非常详细的、面向初学者的 VPS 搭建云数据库(以 MySQL 和 PostgreSQL 为例)的完整教程。涵盖了从准备工作到安全加固、备份策略的全部流程。

VPS 自建云数据库完整教程

本教程将指导您如何在 VPS (Virtual Private Server) 上搭建一个可以通过公网访问的云数据库。我们将以最常见的 MySQL (或其分支 MariaDB) 和 PostgreSQL 为例,并提供详细的步骤和安全建议。

🤔 为什么选择自建云数据库?

在开始之前,我们先了解一下自建的优势和劣势。

优势:
* 成本低廉: 相对于阿里云 RDS、AWS RDS 等托管服务,VPS 成本更低,尤其适合个人开发者或小型项目。
* 完全控制: 您可以完全控制数据库的版本、配置和运行环境。
* 学习价值: 是学习 Linux 系统管理、网络和数据库运维的绝佳实践。

劣势:
* 维护复杂: 您需要负责所有的安装、配置、更新、备份和安全。
* 安全责任: 安全由您自己负责,一个错误的配置可能导致数据泄露。
* 可用性保障: 托管服务通常提供高可用和自动故障转移,自建则需要您自己来实现。

🛠️ 准备工作

1、 一台 VPS:
* 供应商: DigitalOcean, Vultr, Linode, 阿里云, 腾讯云等。
* 配置: 最低建议 1核CPU / 1GB内存,对于生产环境,建议至少 2核CPU / 2GB内存。
* 操作系统: 推荐 Ubuntu 20.04 LTS 或 22.04 LTS,本教程将基于此。

2、 SSH 客户端:
* Windows: PuTTY 或 Windows Terminal。
* macOS / Linux: 系统自带的终端。

3、 一个域名 (可选但推荐):
* 可以将数据库服务绑定到一个子域名(如 `db.yourdomain.com`),方便记忆和管理。

🚀 核心搭建步骤 (以 MySQL / MariaDB 为例)

我们将使用 MariaDB (MySQL 的一个流行分支) 作为示例,步骤与 MySQL 几乎完全相同。

1、连接到 VPS

打开您的 SSH 客户端,使用以下命令连接到您的服务器。将 `your_vps_ip` 替换为您的 VPS 公网 IP 地址。

bash
ssh root@your_vps_ip

2、更新系统软件包

连接成功后,第一步永远是更新系统,以确保所有软件都是最新版本,修复已知的安全漏洞。

bash
apt update && apt upgrade -y

3、安装 MariaDB 数据库

执行以下命令安装 MariaDB 服务器和客户端。

bash
apt install mariadb-server mariadb-client -y

安装完成后,数据库服务会自动启动。您可以用以下命令检查其状态:

bash
systemctl status mariadb

如果看到 `active (running)` 字样,说明运行正常。

4、安全加固 (非常重要!)

MariaDB 提供了一个安全脚本来进行基础的安全配置,强烈建议运行它。

bash
mysql_secure_installation

这个脚本会询问您一系列问题,建议按如下方式选择:
* `Enter current password for root (enter for none):` - 直接按回车(初始root密码为空)。
* `Switch to unix_socket authentication? [Y/n]` - 输入 `n` 并回车(我们使用密码认证)。
* `Set root password? [Y/n]` - 输入 `Y` 并回车,然后为数据库的 `root` 用户设置一个强密码。
* `Remove anonymous users? [Y/n]` - 输入 `Y` 并回车(删除匿名用户,提高安全性)。
* `Disallow root login remotely? [Y/n]` - 输入 `Y` 并回车(禁止 root 用户从远程登录,这是一个关键安全措施)。
* `Remove test database and access to it? [Y/n]` - 输入 `Y` 并回车(删除测试数据库)。
* `Reload privilege tables now? [Y/n]` - 输入 `Y` 并回车(重新加载权限表使更改生效)。

5、配置远程访问

默认情况下,MariaDB 只监听本地地址 (`127.0.0.1`)。我们需要修改它,使其能被外部服务器访问。

1、 编辑配置文件:
配置文件通常位于 `/etc/mysql/mariadb.conf.d/50-server.cnf` 或 `/etc/mysql/my.cnf`。使用 `nano` 编辑器打开它:
bash
nano /etc/mysql/mariadb.conf.d/50-server.cnf


2、 修改 `bind-address`:
找到 `bind-address` 这一行,将其值从 `127.0.0.1` 修改为 `0.0.0.0`。`0.0.0.0` 表示监听所有网络接口。
ini
原来的值
bind-address = 127.0.0.1

修改后的值
bind-address = 0.0.0.0

保存并退出: 在 `nano` 中,按 `Ctrl+X`,然后按 `Y`,最后按 `Enter`。

6、创建数据库和专用用户

出于安全考虑,我们不应该直接使用 `root` 用户来连接数据库。我们需要为您的应用创建一个专用的数据库和用户。

1、 登录到 MariaDB:
bash
mysql -u root -p

输入您在步骤 4 中设置的 root 密码。

2、 执行 SQL 命令:
在 MariaDB 提示符 (`MariaDB [(none)]`) 下,依次执行以下命令。请替换 `your_database_name`, `your_username` 和 `your_strong_password` 为您自己的值。

sql
创建一个新的数据库
CREATE DATABASE your_database_name CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

创建一个新用户,并允许其从任何 IP 地址 ('%') 连接
注意:'%' 表示所有主机,生产环境建议替换为应用服务器的 IP 地址,如 'app_server_ip'
CREATE USER 'your_username'@'%' IDENTIFIED BY 'your_strong_password';

授予该用户对新数据库的所有权限
GRANT ALL PRIVILEGES ON your_database_name.* TO 'your_username'@'%';

刷新权限,使更改立即生效
FLUSH PRIVILEGES;

退出
EXIT;


7、配置防火墙

VPS 的防火墙是安全的第一道防线。我们将使用 Ubuntu 自带的 `ufw` (Uncomplicated Firewall)。

1、 允许 SSH 连接 (防止把自己锁在外面):
bash
ufw allow ssh


2、 允许数据库端口 (3306) 的访问:
最佳实践: 只允许您的应用服务器访问数据库端口,而不是向全世界开放。将 `your_app_server_ip` 替换为您的应用服务器(或您的本地电脑IP)的公网地址。
bash
ufw allow from your_app_server_ip to any port 3306

临时测试: 如果您想先从任何地方测试连接,可以暂时全开(不推荐用于生产环境):
bash
ufw allow 3306


3、 启用防火墙:
bash
ufw enable

系统会提示您可能会中断 SSH 连接,输入 `y` 确认即可。

8、重启服务并测试连接

1、 重启 MariaDB 服务,使所有配置生效:
bash
systemctl restart mariadb


2、 测试远程连接:
* 从另一台服务器或您的本地电脑,使用数据库客户端(如 DBeaver, Navicat, MySQL Workbench)进行连接。
* 连接参数:
* Host: `your_vps_ip`
* Port: `3306`
* Username: `your_username`
* Password: `your_strong_password`
* Database: `your_database_name`
* 如果连接成功,恭喜您!您的云数据库已经搭建好了。

(可选) 搭建 PostgreSQL 数据库

如果您更喜欢 PostgreSQL,步骤类似但配置细节不同。

1、 安装:
bash
apt install postgresql postgresql-contrib -y


2、 配置远程访问:
* 编辑 `/etc/postgresql/<version/main/postgresql.conf`
* 找到 `listen_addresses = 'localhost'`,修改为 `listen_addresses = '*'`。
* 编辑 `/etc/postgresql/<version/main/pg_hba.conf`
* 在文件末尾添加一行,允许来自特定 IP 的密码验证。`<version` 通常是 `14

Ai作答

📣 商家广告


贵阳用友软件

域名抢注

起名

广告招商

公司


0

IP地址: 40.179.12.35

搜索次数: 2

提问时间: 2025-11-12 08:04:58

🛒 域名购买
728.net.cn
rj.biz
3.bj.cn
xhkt.net
dk.gs
chxk.cn
tc.gs
75.gold
wangai.net
zqll.cn

❓️ 热门提问
菏泽网店托管
日本vps哪家好
机房建设设备清单
免费的香港云主机
域名购买方式
石家庄网站托管
vps update
俄罗斯的云主机
42u机柜多重
虚拟主机 管理
豌豆Ai站群搜索引擎系统

🌐 域名评估
3q.sc.cn
mm.qh.cn
vewq.cn
oo.js.cn
su7.tj.cn
kqwn.cn
k.sd.cn
vivo.gx.cn
hechaocheng.cn
tieba.cyou

⛏ 最新挖掘
凯里酸汤鱼
贵阳烤脑花
都匀毛尖茶
花溪牛肉粉
贵阳烤生蚝
贵阳烤豆腐
贵阳纸包鱼
贵阳特色菜

🖌 热门作画

🤝 关于我们:
豌豆Ai 域名 建站 站群 留痕 推广 评估 源码
开发Ai 工具 日记 价格 加盟 广告 流量 留言 联系

🗨 加入群聊
群

🔗 友情链接
한국 검색 엔진 순위  广州日美月饼厂  ai提问

🧰 站长工具
Ai工具  whois查询  搜索

📢 温馨提示:本站所有问答由Ai自动创作,内容仅供参考,若有误差请用“联系”里面信息通知我们人工修改或删除。

👉 技术支持:本站由豌豆Ai提供技术支持,使用的最新版:《豌豆Ai站群搜索引擎系统 V.25.10.25》搭建本站。

上一篇 90746 90747 90748 下一篇