如何在Linux中更改默认的MySQL / MariaDB端口
在本指南中,我们将学习如何更改MySQL / MariaDB数据库在CentOS 7和基于Debian的Linux发行版中绑定的默认端口。 MySQL数据库服务器在Linux和Unix下运行的默认端口是3306 / TCP 。
为了在Linux中更改默认的MySQL / MariaDB数据库端口,请通过执行以下命令打开MySQL服务器配置文件进行编辑。
# vi /etc/my.cnf.d/server.cnf [On CentOS/RHEL]
# vi /etc/mysql/mariadb.conf.d/50-server.cnf [On Debian/Ubuntu]
搜索行统计以[mysqld]
开始,并在[mysqld]
语句下放置以下端口指令,如以下文件摘录所示。 相应地更换端口变量。
[mysqld]
port = 12345
在添加新的MySQL / MariaDB端口后,保存并关闭配置文件,并在CentOS 7下安装以下软件包,以便应用所需的SELinux规则以允许数据库绑定到新端口上。
# yum install policycoreutils-python
接下来,添加下面的SELinux规则,将MySQL套接字绑定到新端口上,并通过发出以下命令重新启动数据库守护程序以应用更改。 再次,替换MySQL端口变量以匹配您自己的端口号。
--------------- On CentOS/RHEL --------------- # semanage port -a -t mysqld_port_t -p tcp 12345 # systemctl restart mariadb --------------- On Debian/Ubuntu --------------- # systemctl restart mysql [On Debian/Ubuntu]
为了验证MySQL / MariaDB数据库服务器的端口配置是否已成功应用,请发出netstat或ss命令,并通过grep命令过滤结果,以便轻松识别新的MySQL端口。
# ss -tlpn | grep mysql
# netstat -tlpn | grep mysql
你也可以用root账户登录到MySQL数据库来显示新的MySQL端口,然后发出下面的命令。 但是,请注意,本地主机上所有与MySQL的连接都是通过MySQL unix域套接字进行的,而不是通过TCP套接字进行的。 但是,如果使用-P
标志命令行远程连接到MySQL数据库,则必须明确指定TCP端口号。
# mysql -h localhost -u root -p -P 12345
MariaDB [(none)]> show variables like 'port';
在远程连接到MySQL数据库的情况下,root用户必须显式配置为允许来自所有网络的传入连接,或只是一个IP地址,通过在MySQL控制台中发出以下命令:
# mysql -u root -p
MariaDB [(none)]> grant all privileges on *.* to 'root'@'192.168.1.159' identified by 'strongpass';
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit
通过发出以下命令,通过新端口上的命令行客户端远程登录到MySQL服务器。
# mysql -h 192.168.1.159 -P 12345 -u root -p
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义