安装数据库服务器是一个涉及多个步骤的过程,需要根据操作系统、数据库类型(如MySQL、PostgreSQL、SQL Server、MongoDB等)以及具体需求进行规划和操作,以下以广泛使用的MySQL(以8.0版本为例)和PostgreSQL(以14版本为例)为例,详细说明在Linux(以Ubuntu 20.04为例)和Windows操作系统下的安装步骤,同时涵盖配置、安全初始化及基本管理操作。

安装前的准备工作
在开始安装前,需明确以下关键信息:
- 数据库类型与版本:根据应用需求选择(如关系型数据库MySQL/PostgreSQL,或非关系型MongoDB)。
- 操作系统环境:Linux(推荐Ubuntu/CentOS)或Windows Server/Windows 10,不同系统安装命令差异较大。
- 服务器资源:确保CPU、内存(至少2GB,生产环境建议4GB以上)、磁盘空间(至少10GB可用)满足最低要求。
- 网络配置:若需远程访问,需规划数据库端口(默认MySQL 3306,PostgreSQL 5432)并配置防火墙规则。
Linux环境下安装数据库服务器
(一)安装MySQL 8.0(Ubuntu 20.04)
-
更新系统包列表
打开终端,执行以下命令更新软件包索引:sudo apt update sudo apt upgrade y
-
安装MySQL服务器
使用APT包管理器安装:sudo apt install mysqlserver8.0 y
-
启动并设置开机自启
安装完成后,MySQL服务会自动启动,可通过以下命令确认状态:sudo systemctl status mysql sudo systemctl enable mysql # 设置开机自启
-
安全初始化配置
执行安全脚本,设置root密码、移除匿名用户、禁止远程root登录等:sudo mysql_secure_installation
按照提示操作:
- 设置root密码(建议包含大小写字母、数字及特殊字符);
- 移除匿名用户(输入
Y); - 禁止root远程登录(生产环境建议
Y,本地测试可N); - 移除测试数据库(
Y); - 重新加载权限表(
Y)。
-
配置远程访问(可选)
若需远程连接,需编辑MySQL配置文件,允许特定IP或所有IP访问:sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
找到
bindaddress = 127.0.0.1,修改为bindaddress = 0.0.0.0(允许所有IP,或指定IP如bindaddress = 192.168.1.100)。
重启MySQL服务:sudo systemctl restart mysql
创建远程访问用户并授权:
sudo mysql u root p CREATE USER 'remote_user'@'%' IDENTIFIED BY 'YourStrongPassword!'; GRANT ALL PRIVILEGES ON *.* TO 'remote_user'@'%' WITH GRANT OPTION; FLUSH PRIVILEGES; EXIT;
-
防火墙配置
若使用UFW防火墙,允许MySQL端口(3306):sudo ufw allow 3306/tcp sudo ufw reload
(二)安装PostgreSQL 14(Ubuntu 20.04)
-
添加PostgreSQL官方仓库
PostgreSQL官方仓库提供最新版本,需先添加仓库密钥和源:
sudo apt install y wget cacertificates wget quiet O https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo aptkey add echo "deb http://apt.postgresql.org/pub/repos/apt/ focalpgdg main" | sudo tee /etc/apt/sources.list.d/pgdg.list
-
安装PostgreSQL及相关工具
更新包列表并安装:sudo apt update sudo apt install postgresql14 postgresqlcontrib14 y
-
启动并设置开机自启
sudo systemctl start postgresql sudo systemctl enable postgresql sudo systemctl status postgresql
-
初始化用户与数据库
PostgreSQL默认创建postgres超级用户,可通过以下方式操作:- 切换至
postgres用户:sudo u postgres i - 登录PostgreSQL命令行:
psql - 创建新用户和数据库(以
myuser和mydb为例):CREATE USER myuser WITH PASSWORD 'YourStrongPassword!'; CREATE DATABASE mydb OWNER myuser; GRANT ALL PRIVILEGES ON DATABASE mydb TO myuser; q # 退出
- 切换至
-
配置远程访问
编辑PostgreSQL配置文件:sudo nano /etc/postgresql/14/main/postgresql.conf
修改以下参数:
listen_addresses = '*' # 默认为'localhost',改为'*'允许所有IP port = 5432
编辑客户端认证配置文件:
sudo nano /etc/postgresql/14/main/pg_hba.conf
添加以下行(允许特定网段或所有IP连接):
host all all 0.0.0.0/0 md5
重启PostgreSQL服务:
sudo systemctl restart postgresql
-
防火墙配置
允许PostgreSQL端口(5432):sudo ufw allow 5432/tcp sudo ufw reload
Windows环境下安装数据库服务器
(一)安装MySQL 8.0(Windows 10/11)
-
下载安装包
访问MySQL官网(https://dev.mysql.com/downloads/installer/),下载“MySQL for Windows (x86, 64bit), ZIP Archive”版本(免安装版)或“MySQL Installer for Windows”图形化安装包(推荐新手)。 -
图形化安装(推荐)

- 运行下载的
.msi安装包,选择“Full”安装(包含MySQL Server、MySQL Workbench等)。 - 接受许可协议,选择“Server only”或“Custom”自定义组件。
- 设置服务器类型(如“Development Machine”),配置root密码(需牢记)。
- 配置Windows服务(默认服务名为“MySQL80”,设置为自动启动)。
- 完成安装后,可通过“MySQL Workbench”连接测试。
- 运行下载的
-
免安装版配置(可选)
- 解压ZIP包到指定目录(如
C:mysql8.0.33winx64)。 - 创建
my.ini配置文件(参考官方模板),修改以下参数:[mysqld] basedir=C:/mysql8.0.33winx64 datadir=C:/mysql8.0.33winx64/data port=3306
- 以管理员身份打开命令提示符,进入
bin目录,初始化数据:mysqld initialize console # 记录生成的临时root密码
- 安装Windows服务:
mysqld install MySQL80 net start MySQL80
- 修改root密码:
mysqladmin u root p password "YourNewPassword"
- 解压ZIP包到指定目录(如
(二)安装PostgreSQL 14(Windows 10/11)
-
下载安装包
访问PostgreSQL官网(https://www.postgresql.org/download/windows/),下载Windows x8664版本(如postgresql14.71windowsx64.exe)。 -
图形化安装
- 运行安装包,选择“Next”,选择安装目录(默认
C:Program FilesPostgreSQL14)。 - 设置数据目录(默认与安装目录一致,可修改)。
- 设置超级用户密码(
postgres用户,需牢记)。 - 选择端口(默认5432),允许远程连接(勾选“Allow remote connections to this server”)。
- 选择locale(默认
English, United States,中文环境可选Chinese, China.936)。 - 完成安装后,可通过“pgAdmin”图形化管理工具连接测试。
- 运行安装包,选择“Next”,选择安装目录(默认
-
环境变量配置
将PostgreSQL的bin目录(如C:Program FilesPostgreSQL14bin)添加到系统环境变量Path中,方便使用psql等命令行工具。
安装后的验证与基本管理
(一)验证安装
- MySQL:通过命令行连接:
mysql u root p
输入密码后,执行
SELECT VERSION();查看版本信息。 - PostgreSQL:通过命令行连接:
psql U postgres d postgres
执行
SELECT version();查看版本信息。
(二)常用管理命令
| 操作 | MySQL命令 | PostgreSQL命令 |
|---|---|---|
| 启动服务 | sudo systemctl start mysql |
sudo systemctl start postgresql |
| 停止服务 | sudo systemctl stop mysql |
sudo systemctl stop postgresql |
| 重启服务 | sudo systemctl restart mysql |
sudo systemctl restart postgresql |
| 查看服务状态 | sudo systemctl status mysql |
sudo systemctl status postgresql |
| 连接数据库 | mysql u [用户] p[密码] |
psql U [用户] d [数据库] |
| 创建数据库 | CREATE DATABASE [数据库名]; |
CREATE DATABASE [数据库名]; |
| 删除数据库 | DROP DATABASE [数据库名]; |
DROP DATABASE [数据库名]; |
| 用户授权 | GRANT ALL ON [库名].* TO '用户'@'主机'; |
GRANT ALL PRIVILEGES ON DATABASE [库名] TO [用户]; |
相关问答FAQs
Q1: 安装MySQL时提示“Authentication plugin ‘caching_sha2_password’ cannot be loaded”怎么办?
A1: 该错误通常是由于客户端工具(如旧版Navicat)不支持MySQL 8.0默认的caching_sha2_password认证插件,解决方法:
- 方法1(推荐):升级客户端工具至支持MySQL 8.0的版本(如Navicat 16+)。
- 方法2:修改用户认证插件为
mysql_native_password(临时方案,安全性较低):ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'YourPassword'; FLUSH PRIVILEGES;
Q2: PostgreSQL远程连接失败,如何排查?
A2: 可从以下方面排查:
- 检查服务状态:确认PostgreSQL服务已启动(
sudo systemctl status postgresql)。 - 检查配置文件:确认
postgresql.conf中listen_addresses = '*',pg_hba.conf中包含远程连接规则(如host all all 0.0.0.0/0 md5)。 - 检查防火墙:确保服务器防火墙允许5432端口(如Linux的UFW或Windows防火墙)。
- 检查用户权限:确认远程用户已授予连接权限(
GRANT ALL PRIVILEGES ON DATABASE [库名] TO [用户];)。 - 测试连接:使用
telnet [IP] 5432检查端口是否开放,或通过pgAdmin工具连接测试。
原创文章,发布者:酷盾叔,转转请注明出处:https://www.kd.cn/ask/303209.html