1、前言
在 MySQL 数据库中,其运行的服务端口是 3306 和 33060(8.0版本之后增加了 mysqlx 服务)。在某些安全管理要求下,我们不能直接用默认端口,需要修改为一个特殊端口号。因此,这里介绍一下如何更换默认端口为指定的特殊端口。
2、至于MySQL数据库有哪些参数可修改,可以参考其官方文档。链接如下:https://dev.mysql.com/doc/refman/8.0/en/server-system-variable-reference.html

3、修改 MySQL 服务端口
首先,我们找到MySQL的配置文件(Linux下为 my.cnf ,windows下为 my.ini)。由于安装方式各有不同,所以文件位置不尽相同,可以通过搜索等方式确认文件位置。(这里由系统中 mysqluser 账户修改)
my.cnf 文件修改内容如下:
这里,我们通过配置文件my.cnf 指定,mysql服务端口为 52013,mysqlx服务端口为:52014

4、防火墙策略调整
由于在RHEL(红帽操作系统)中,服务器端口进出配置由 iptables 服务管理。所以,我们需要在其配置文件上,开放52013 和 52014 两个端口的访问许可策略。RHEL(红帽操作系统)6.5中,防火墙策略配置文件在 /etc/sysconfig/iptables。(这里由系统中 root 账户修改)
通过命令访问效果如下:

使用 vim 命令对其进行编辑
cd /etc/sysconfig #切换到sysconfig目录 vim iptables #修改 iptables 配置 (配置参考如下)
# 屏蔽 3306 端口 入站策略 # -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT # 添加 52013 和 52014 端口 入站策略 -A INPUT -m state --state NEW -m tcp -p tcp --dport 52013 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 52014 -j ACCEPT
效果图如下:

最后,重启 iptables 防火墙 服务。然后,端口策略就会自动生效,不需要重启服务器。
# 重启防火墙 service iptables restart

5、检查端口监听情况
首先,我们需要确保MySQL服务没有启动(因为配置信息是服务启动时才加载的)
ps -ef | grep mysql #通过命令,检查是否有MySQL服务在运行(没有就忽略)

# kill -9 进程号 #如果有mysql进程,通过命令停止进程,然后再执行上面命令检查是否已终止。 kill -9 1554

然后,启动 MySQL。检查进程情况,检查端口监听情况
mysqld ... # 启动 MySQL 数据库服务 ps -ef | grep mysql #检查 MySQL 服务是否启动成功 netstat -nl | grep 3306 # 检查有没有 3306 的端口监听 netstat -nl | grep 5201 # 检查有没有 52013 和 52014 的端口监听信息。
具体如下图:

从执行命令的效果来看,端口调整已经全部完成。