Ubuntu系统预装了MySQL 8.0,安装宝塔面板后如何避免端口和服务冲突?

在 Ubuntu 系统已安装 MySQL 8.0 的情况下安装宝塔面板,为避免端口和服务冲突,可按以下步骤操作:

1. 检查现有 MySQL 服务状态

# 查看 MySQL 运行状态
sudo systemctl status mysql

# 查看 MySQL 监听端口
sudo netstat -tlnp | grep mysql
# 或
sudo ss -tlnp | grep mysql

2. 方案一:使用宝塔管理现有 MySQL(推荐)

A. 修改宝塔安装配置

在安装宝塔前,编辑安装脚本或安装后配置:

# 安装宝塔时跳过 MySQL 安装
# 在宝塔安装命令后添加参数(具体参数参考宝塔官方文档)
# 或安装后在宝塔面板中不安装 MySQL

B. 宝塔安装后配置

  1. 登录宝塔面板
  2. 进入「软件商店」
  3. 不要安装 MySQL
  4. 在「数据库」页面手动添加现有 MySQL
    • 地址:127.0.0.1
    • 端口:3306
    • 用户名/密码:现有 MySQL 的凭据

3. 方案二:调整现有 MySQL 配置

如果希望宝塔管理独立的 MySQL,先修改系统自带 MySQL:

A. 停止并禁用系统 MySQL

sudo systemctl stop mysql
sudo systemctl disable mysql

B. 修改 MySQL 端口(可选)

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

修改内容:

[mysqld]
port = 3307  # 改为其他端口,如 3307
# bind-address = 127.0.0.1  # 确保不冲突

C. 重启 MySQL

sudo systemctl start mysql

4. 方案三:完全卸载系统 MySQL

如果不需要原有数据:

# 备份数据(重要!)
sudo mysqldump -u root -p --all-databases > all_databases.sql

# 停止服务
sudo systemctl stop mysql

# 卸载 MySQL
sudo apt purge mysql-server mysql-client mysql-common mysql-server-core-* mysql-client-core-*
sudo apt autoremove
sudo rm -rf /etc/mysql /var/lib/mysql

5. 安装宝塔时的注意事项

# 安装宝塔
wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh
sudo bash install.sh

# 安装过程中选择自定义安装
# 当询问是否安装 MySQL 时选择否

6. 安装后检查

# 检查端口冲突
sudo lsof -i :3306
sudo lsof -i :3307

# 检查服务运行
sudo systemctl list-units | grep -E '(mysql|bt)'

7. 防火墙配置

# 如果使用防火墙,开放相应端口
sudo ufw allow 3306/tcp  # 或 3307
sudo ufw reload

推荐方案

  1. 保留数据:使用方案一,让宝塔管理现有 MySQL
  2. 全新环境:使用方案三,完全卸载后让宝塔安装新 MySQL
  3. 双实例运行:使用方案二,修改端口运行两个 MySQL 实例

重要提醒

  • 操作前务必备份重要数据
  • 修改配置后测试连接是否正常
  • 宝塔面板默认使用 8888 端口,确保不与现有服务冲突
  • 定期检查日志:/var/log/mysql/error.log 和宝塔日志

按照以上步骤操作,即可避免 Ubuntu 系统自带 MySQL 与宝塔面板的冲突。

云服务器