本文牛奇网将向您介绍,在 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
更改了 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
使用 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 控制台执行以下命令,将 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/MariaDB 数据库服务器端口,需要更新防火墙规则以允许传入连接到新的 TCP 端口,以便远程客户端可以成功连接到数据库。
作者:牛奇网,本站文章均为辛苦原创,在此严正声明,本站内容严禁采集转载,面斥不雅请好自为之,本文网址:https://www.niuqi360.com/linux/how-to-change-default-mysql-port/