温馨提示×

centos怎么替换数据库

小樊
40
2026-10-20 19:27:55
栏目: 智能运维

在 CentOS 上“替换数据库”通常有以下几种场景,我先按常见情况给你说明,你可以对照自己的需求:


一、替换数据库软件(如 MySQL → PostgreSQL / MariaDB → MySQL)

1️⃣ 停止并卸载原数据库

# 以 MySQL 为例
systemctl stop mysqld
yum remove mysql mysql-server

如果是 MariaDB:

systemctl stop mariadb
yum remove mariadb mariadb-server

2️⃣ 备份原数据库(非常重要)

mysqldump -u root -p --all-databases > all.sql

3️⃣ 安装新数据库

例如安装 PostgreSQL:

yum install postgresql-server postgresql
postgresql-setup initdb
systemctl start postgresql
systemctl enable postgresql

或安装 MySQL:

yum install mysql-server
systemctl start mysqld

4️⃣ 数据迁移(如有需要)

  • MySQL → MySQL:直接导入 all.sql
  • 跨数据库(如 MySQL → PostgreSQL):需使用迁移工具(如 pgloader)

二、替换数据库版本(如 MySQL 5.7 → 8.0)

方式一:升级(推荐)

yum update mysql-server

方式二:卸载重装

systemctl stop mysqld
yum remove mysql-server
rm -rf /var/lib/mysql
yum install mysql-server

⚠️ 注意:重装会清空数据,务必先备份


三、替换数据库文件(数据目录迁移)

例如把数据库放到 /data/mysql:

systemctl stop mysqld
cp -a /var/lib/mysql /data/mysql
vim /etc/my.cnf

修改:

datadir=/data/mysql
chown -R mysql:mysql /data/mysql
systemctl start mysqld

四、Docker 方式替换(更干净)

docker run -d --name mysql \
  -e MYSQL_ROOT_PASSWORD=123456 \
  -p 3306:3306 \
  mysql:8.0

五、常见注意事项

  • ✅ 先备份
  • ✅ 确认端口(3306 / 5432)
  • ✅ 检查应用配置(连接地址、账号)
  • ✅ 防火墙:firewall-cmd --add-port=3306/tcp

如果你能告诉我:

  • 当前数据库类型 & 版本
  • 想换成什么
  • 是否保留数据

我可以给你精确命令。

0 踩