在轻量服务器(如腾讯云轻量应用服务器、阿里云轻量服务器等)上安装数据库的步骤相对简单,常见的数据库有 MySQL、PostgreSQL 和 SQLite。以下以 Ubuntu 系统为例,介绍如何在轻量服务器上安装 MySQL 和 PostgreSQL。
一、准备工作
-
登录服务器
使用 SSH 登录你的轻量服务器:ssh root@你的服务器IP -
更新系统包
sudo apt update && sudo apt upgrade -y
二、安装 MySQL 数据库(推荐用于 Web 应用)
1. 安装 MySQL 服务
sudo apt install mysql-server -y
2. 启动并设置开机自启
sudo systemctl start mysql
sudo systemctl enable mysql
3. 运行安全配置向导(可选但推荐)
sudo mysql_secure_installation
该命令会引导你:
- 设置 root 密码
- 删除匿名用户
- 禁止 root 远程登录
- 删除测试数据库
- 重新加载权限
注意:如果你需要远程连接数据库,请在后续步骤中配置允许远程访问。
4. 登录 MySQL 测试
sudo mysql -u root -p
三、安装 PostgreSQL 数据库(适合复杂数据场景)
1. 安装 PostgreSQL
sudo apt install postgresql postgresql-contrib -y
2. 启动并启用服务
sudo systemctl start postgresql
sudo systemctl enable postgresql
3. 切换到 postgres 用户并进入数据库
sudo -i -u postgres
psql
4. 设置密码并退出
ALTER USER postgres PASSWORD 'your_password';
q
然后返回普通用户:
exit
5. 允许远程连接(可选)
编辑配置文件:
sudo nano /etc/postgresql/版本号/main/postgresql.conf
修改:
listen_addresses = 'localhost' # 改为 '*' 或指定 IP
再编辑 pg_hba.conf 添加访问规则。
四、开放防火墙端口
| 数据库 | 默认端口 |
|---|---|
| MySQL | 3306 |
| PostgreSQL | 5432 |
开放端口(以 UFW 防火墙为例)
sudo ufw allow 3306/tcp # MySQL
sudo ufw allow 5432/tcp # PostgreSQL
⚠️ 注意:开放端口后建议设置强密码,并限制访问 IP(如只允许你的公网 IP),避免被攻击。
五、远程连接数据库(可选)
-
修改数据库绑定地址
- MySQL:修改
/etc/mysql/mysql.conf.d/mysqld.cnf中的bind-address = 0.0.0.0 - PostgreSQL:修改
postgresql.conf的listen_addresses
- MySQL:修改
-
创建远程访问用户
- MySQL 示例:
CREATE USER 'remote_user'@'%' IDENTIFIED BY 'strong_password'; GRANT ALL PRIVILEGES ON *.* TO 'remote_user'@'%'; FLUSH PRIVILEGES;
- MySQL 示例:
-
重启服务:
sudo systemctl restart mysql # 或 sudo systemctl restart postgresql
六、其他数据库(如 SQLite)
SQLite 是文件型数据库,无需安装服务:
sudo apt install sqlite3 -y
直接使用:
sqlite3 mydb.db
七、安全建议
- 定期备份数据库
- 避免使用 root 远程登录
- 使用防火墙限制访问 IP
- 定期更新系统和数据库
总结
| 步骤 | 操作内容 |
|---|---|
| 1. 更新系统 | apt update && upgrade |
| 2. 安装数据库 | apt install mysql-server 或 postgresql |
| 3. 启动服务 | systemctl start xxx |
| 4. 安全配置 | 设置密码、删除匿名用户等 |
| 5. 开放端口 | 防火墙允许 3306/5432 |
| 6. 远程访问 | 修改配置 + 创建用户 |
如果你使用的是 CentOS/Rocky Linux,只需将 apt 替换为 yum 或 dnf 即可。
如有具体需求(如部署 WordPress、Node.js 项目等),可以进一步说明,我可以提供更详细的配置方案。
轻量云Cloud