在 Linux 系统中如何更改 MySQL/MariaDB 默认的端口号

本文牛奇网将向您介绍,在 CentOS 7 和基于 Debian 的 Linux 发行版中,如何更改 MySQL/MariaDB 数据库绑定的默认端口。

MySQL 数据库服务器在 Linux 和 Unix 下运行的默认端口是 3306/TCP。要更改默认的端口号,请通过以下命令打开 MySQL 服务器配置文件并进行编辑。

# vi /etc/my.cnf.d/server.cnf [在 CentOS/RHEL 上]
# vi /etc/mysql/mariadb.conf.d/50-server.cnf [在 Debian/Ubuntu 上]

搜索以 [mysqld] 开头的行,将端口替换为想要的号码。

[mysqld]
port = 12345
在 CentOS 和 Ubuntu 上更改 MySQL 端口
在 CentOS 和 Ubuntu 上更改 MySQL 端口

更改了 MySQL/MariaDB 的端口后,保存并关闭配置文件。在 CentOS 7 下安装以下软件包,以便应用所需的 SELinux规则以允许数据库绑定到新端口。

# yum install policycoreutils-python

接下来,通过执行以下命令,添加以下 SELinux 规则,以在新端口上绑定 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
验证 MySQL 端口
验证 MySQL 端口

使用 root 帐户登录 MySQL 数据库,并执行以下命令来显示新的 MySQL 端口。但要注意的是,在 localhost 上与 MySQL 的所有连接都是通过 MySQL unix 域套接字进行的,而不是通过 TCP 套接字。但是在命令行远程连接 MySQL 数据库时,必须使用 -P 明确指定 TCP 端口号。

mysql -h localhost -u root -p -P 12345
MariaDB [(none)]> show variables like 'port';
检查 MySQL 端口变量
检查 MySQL 端口变量

在远程连接到 MySQL 数据库时,必须通过在 MySQL 控制台执行以下命令,将 root 用户配置为允许来自所有网络或 IP 地址的传入连接:

 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  
在端口上远程登录 MySQL
在端口上远程登录 MySQL

最后,一旦更改了 MySQL/MariaDB 数据库服务器端口,需要更新防火墙规则以允许传入连接到新的 TCP 端口,以便远程客户端可以成功连接到数据库。

作者:牛奇网,本站文章均为辛苦原创,在此严正声明,本站内容严禁采集转载,面斥不雅请好自为之,本文网址:https://www.niuqi360.com/linux/how-to-change-default-mysql-port/

(0)
上一篇 2022年4月2日 上午8:40
下一篇 2022年4月2日 上午10:23

相关推荐

发表评论

登录后才能评论