Sådan ændres standard MySQL/MariaDB-port i Linux
I denne vejledning lærer vi, hvordan du ændrer standardporten, som MySQL/MariaDB-databasen binder i CentOS 7 og Debian-baserede Linux-distributioner. Standardporten, som MySQL-databaseserver kører under Linux og Unix, er 3306/TCP.
For at ændre standard MySQL/MariaDB-databaseporten i Linux skal du åbne MySQL-serverkonfigurationsfilen til redigering ved at udstede nedenstående kommando.
# vi /etc/my.cnf.d/server.cnf [On CentOS/RHEL] # vi /etc/mysql/mariadb.conf.d/50-server.cnf [On Debian/Ubuntu]
Søg efter linjestatus starter med [mysqld]
og placer følgende portdirektiv under [mysqld]
-erklæring, som vist i nedenstående filuddrag. Udskift portvariablen i overensstemmelse hermed.
[mysqld] port = 12345
Når du har tilføjet den nye MySQL/MariaDB-port, skal du gemme og lukke konfigurationsfilen og installere følgende pakke under CentOS 7 for at anvende de krævede SELinux-regler for at tillade databasen at binde til den nye port.
# yum install policycoreutils-python
Dernæst tilføj nedenstående SELinux-regel for at binde MySQL-stikket på den nye port og genstart database-dæmonen for at anvende ændringer ved at udstede følgende kommandoer. Igen skal du udskifte MySQL-portvariabel for at matche dit 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]
For at kontrollere, om portkonfigurationen til MySQL/MariaDB-databaseserver er blevet anvendt, skal du udstede grep-kommando for let at identificere den nye MySQL-port.
# ss -tlpn | grep mysql # netstat -tlpn | grep mysql
Du kan også få vist den nye MySQL-port ved at logge på MySQL-databasen med root-konto og udstede nedenstående kommando. Vær dog opmærksom på, at alle forbindelser til MySQL på localhost oprettes via MySQL unix domænesocket, ikke via TCP-stikket. Men TCP-portnummeret skal angives eksplicit i tilfælde af kommandolinjefjernforbindelser til MySQL-database ved hjælp af -P
-flagget.
# mysql -h localhost -u root -p -P 12345 MariaDB [(none)]> show variables like 'port';
I tilfælde af fjernforbindelse til MySQL-database skal rodbrugeren udtrykkeligt konfigureres til at tillade indgående forbindelser fra alle netværk eller bare en IP-adresse ved at udstede nedenstående kommando i MySQL-konsol:
# 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
Log ind på MySQL-server via en kommandolinjeklient på den nye port ved at udstede nedenstående kommando.
# mysql -h 192.168.1.159 -P 12345 -u root -p
Når du endelig har ændret MySQL/MariaDB-databaseserverporten, skal du opdatere din distribution Firewall-regler for at tillade indgående forbindelser til den nye TCP-port, så fjernklienter med succes kan oprette forbindelse til databasen.