I den här guiden lär vi oss hur du ändrar standardporten som MySQL/MariaDB databas binds i CentOS 7 och Debian -baserade Linux-distributioner. Standardporten som MySQL-databasservern körs under Linux och Unix är 3306/TCP .
För att ändra standard MySQL/MariaDB databasport i Linux, öppna MySQL-serverns konfigurationsfil för redigering genom att utfärda kommandot nedan.
# vi /etc/my.cnf.d/server.cnf [On CentOS/RHEL] # vi /etc/mysql/mariadb.conf.d/50-server.cnf [On Debian/Ubuntu]
Sök efter radstatistiken börjar med [mysqld]
och placera följande portdirektiv under [mysqld]
uttalande, som visas i filutdragen nedan. Byt ut portvariabeln i enlighet med detta.
[mysqld] port = 12345
När du har lagt till den nya MySQL/MariaDB port, spara och stäng konfigurationsfilen och installera följande paket under CentOS 7 för att tillämpa den nödvändiga SELinux regler för att tillåta databasen att binda till den nya porten.
# yum install policycoreutils-python
Lägg sedan till nedanstående SELinux regel för att binda MySQL-socket på den nya porten och starta om databasdemonen för att tillämpa ändringar, genom att utfärda följande kommandon. Återigen, ersätt MySQL-portvariabeln för att matcha ditt eget portnummer.
--------------- 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]
För att verifiera om portkonfigurationen för MySQL/MariaDB databasservern har använts, utfärda netstat eller ss-kommando och filtrera resultaten via grep-kommandot för att enkelt identifiera den nya MySQL-porten.
# ss -tlpn | grep mysql # netstat -tlpn | grep mysql
Du kan också visa den nya MySQL-porten genom att logga in på MySQL-databasen med root-kontot och utfärda kommandot nedan. Var dock medveten om att alla anslutningar till MySQL på localhost görs via MySQL unix-domänsocket, inte via TCP-socket. Men TCP-portnumret måste anges uttryckligen i händelse av fjärranslutningar på kommandoraden till MySQL-databasen med -P
flagga.
# mysql -h localhost -u root -p -P 12345 MariaDB [(none)]> show variables like 'port';
Vid fjärranslutning till MySQL-databasen måste rotanvändaren uttryckligen konfigureras för att tillåta inkommande anslutningar från alla nätverk eller bara en IP-adress, genom att utfärda kommandot nedan i MySQL-konsolen:
# 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
Fjärrlogga in på MySQL-servern via en kommandoradsklient på den nya porten genom att utfärda kommandot nedan.
# mysql -h 192.168.1.159 -P 12345 -u root -p
Slutligen, när du har ändrat MySQL/MariaDB databasserverport måste du uppdatera dina distributionsbrandväggsregler för att tillåta inkommande anslutningar till den nya TCP-porten så att fjärrklienter kan ansluta till databasen.