Linux 上可以同时安装并运行 MySQL 和 PostgreSQL

在 Linux 上可以同时安装并运行 MySQL 和 PostgreSQL,它们默认使用不同的端口(MySQL: 3306,PostgreSQL: 5432),互不冲突。只要资源(CPU/内存/磁盘)够用、端口不被占用,就能并存。

下面是一套简明操作与注意点(任选与发行版相符的部分):

安装与启动

Debian/Ubuntu

# 查看端口占用(确认 3306/5432)
ss -lntp | egrep ':3306|:5432' || true

# 安装 PostgreSQL
sudo apt update
sudo apt install -y postgresql postgresql-contrib

# 启动并开机自启
sudo systemctl enable --now postgresql

RHEL/CentOS/Fedora

# 查看端口占用
ss -lntp | egrep ':3306|:5432' || true

# 安装 PostgreSQL(包名可能因版本略有差异)
sudo dnf install -y postgresql-server postgresql-contrib

# 初始化数据目录(某些发行版需要)
sudo /usr/bin/postgresql-setup --initdb

# 启动并开机自启
sudo systemctl enable --now postgresql

初始配置(可选)

# 进入 psql 并设置 postgres 超级用户密码
sudo -u postgres psql
\password postgres
-- 创建业务用户与数据库
CREATE USER myuser WITH PASSWORD 'StrongPass!';
CREATE DATABASE mydb OWNER myuser;
\q

可能遇到的小问题与处理

  • 端口冲突(通常不会,与 MySQL 不同端口):
    修改 PostgreSQL 端口并重启。

    • Debian/Ubuntu:/etc/postgresql/<版本>/main/postgresql.conf
    • RHEL/CentOS:/var/lib/pgsql/data/postgresql.conf
      port = 5432 改为如 port = 5433,然后:
    sudo systemctl restart postgresql
    
  • 外部访问/防火墙

    • 允许远程:编辑 postgresql.conflisten_addresses='*')与 pg_hba.conf(增加允许的网段),再重启。

    • 防火墙放行:

      • Ubuntu(ufw):sudo ufw allow 5432/tcp
      • RHEL/CentOS(firewalld):sudo firewall-cmd --permanent --add-service=postgresql && sudo firewall-cmd --reload
  • 资源占用:同机运行两套数据库要关注内存。若机器小,建议先保持 PostgreSQL 默认配置,后续再调整 shared_bufferswork_mem 等。

  • 套接字与数据目录

    • MySQL socket 通常在 /var/run/mysqld/mysqld.sock,数据目录 /var/lib/mysql
    • PostgreSQL socket 通常在 /var/run/postgresql/,数据目录 /var/lib/postgresql/...(Deb/Ub)或 /var/lib/pgsql/data(RHEL)

容器化(可选、更隔离)

若想完全隔离依赖与配置,也可用 Docker/Podman 跑 PostgreSQL:

docker run -d --name pg \
  -e POSTGRES_PASSWORD=StrongPass! \
  -e POSTGRES_DB=mydb \
  -p 5432:5432 \
  -v pgdata:/var/lib/postgresql/data \
  postgres:16

这样与系统里的 MySQL 完全分离,升级/回滚更方便。


按照上面步骤装好 PostgreSQL 后,就能在同一台机器上同时使用 MySQL 与 PostgreSQL 了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值