Ubuntu MySQL修改端口不起作用

引言

在使用MySQL数据库时,有时候我们需要修改MySQL服务的端口号以避免端口冲突或者增加安全性。然而,有时候在Ubuntu系统上修改MySQL端口后发现并没有生效,这可能会导致一些问题。本文将介绍如何在Ubuntu系统上正确地修改MySQL端口以及解决端口修改不起作用的问题。

修改MySQL端口

要修改MySQL服务的端口号,我们需要编辑MySQL的配置文件。在Ubuntu系统上,MySQL的配置文件一般位于/etc/mysql/mysql.conf.d/mysqld.cnf路径下。我们可以通过编辑这个文件来修改MySQL的端口号。

步骤

  1. 使用文本编辑器打开mysqld.cnf文件。
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
  1. 在文件中找到port关键字,并修改为你想要的端口号。比如,将端口号修改为3307
port = 3307
  1. 保存文件并退出编辑器。

  2. 重新启动MySQL服务使修改生效。

sudo systemctl restart mysql

解决端口修改不起作用的问题

有时候即使我们按照上述步骤修改了MySQL的端口号,但修改并没有生效。这可能是由于系统防火墙或者AppArmor导致的。下面将介绍如何解决这个问题。

检查防火墙

首先,我们需要检查系统防火墙是否允许新端口通过。如果端口被防火墙阻止,那么修改端口是不会生效的。

我们可以使用ufw命令来管理Ubuntu系统上的防火墙规则。可以通过以下命令打开新端口:

sudo ufw allow 3307/tcp

检查AppArmor

AppArmor是一个安全增强的Linux核心安全模块。有时候AppArmor可能会限制MySQL服务使用新端口。

可以通过以下步骤解决AppArmor的限制问题:

  1. 编辑AppArmor配置文件/etc/apparmor.d/usr.sbin.mysqld
sudo nano /etc/apparmor.d/usr.sbin.mysqld
  1. 找到/usr/sbin/mysqld段落,并在其中添加允许使用新端口的规则。
network tcp,   # allow tcp
  1. 保存文件并退出编辑器。

  2. 重新加载AppArmor配置使修改生效。

sudo apparmor_parser -r /etc/apparmor.d/usr.sbin.mysqld
  1. 重新启动MySQL服务。
sudo systemctl restart mysql

总结

在Ubuntu系统上修改MySQL服务的端口号并使修改生效可能需要注意系统防火墙和AppArmor的限制。通过正确地修改MySQL配置文件、允许新端口通过防火墙、以及解决AppArmor的限制,我们可以成功修改MySQL的端口号并使修改生效。

希望本文对您有所帮助!