Wéi Änneren Default MySQL/MariaDB Port am Linux


An dësem Guide léiere mir wéi Dir de Standardport ännert deen d'MySQL/MariaDB Datebank an CentOS 7 an Debian-baséiert Linux Verdeelungen bindt. De Standardport deen MySQL Datebankserver ënner Linux an Unix leeft ass 3306/TCP.

Fir den Default MySQL/MariaDB Datebankport am Linux z'änneren, öffnen d'MySQL Server Konfiguratiounsdatei fir z'änneren andeems Dir de Kommando hei drënner ausgëtt.

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

Sich no der Zeilstatistik fänkt mat [mysqld] un a setzt déi folgend Portdirektiv ënner [mysqld] Ausso, wéi an de Dateiextrakten hei ënnen. Ersetzen der port Variabel entspriechend.

[mysqld] 
port = 12345

Nodeems Dir den neie MySQL/MariaDB Port bäigefüügt hutt, späichert a schließt d'Konfiguratiounsdatei an installéiert de folgende Package ënner CentOS 7 fir déi erfuerderlech SELinux Regelen z'applizéieren fir datt d'Datebank op den neien Hafen bannen.

# yum install policycoreutils-python

Als nächst füügt déi SELinux Regel hei ënnen fir MySQL Socket op den neien Hafen ze binden an den Datebank Daemon nei ze starten fir Ännerungen z'applizéieren, andeems Dir déi folgend Kommandoen ausgëtt. Nach eng Kéier, ersetzt MySQL Portvariabel fir Är eegen Portnummer ze passen.

--------------- 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]  

Fir z'iwwerpréiwen ob d'Portkonfiguratioun fir MySQL/MariaDB Datebankserver erfollegräich applizéiert gouf, gitt grep Kommando fir den neie MySQL Hafen einfach z'identifizéieren.

# ss -tlpn | grep mysql
# netstat -tlpn | grep mysql

Dir kënnt och den neie MySQL Hafen affichéieren andeems Dir Iech op MySQL Datebank mat root Kont aloggen an de Kommando ënnen erausginn. Wéi och ëmmer, bewosst datt all Verbindunge mat MySQL op localhost iwwer MySQL Unix Domain Socket gemaach ginn, net iwwer den TCP Socket. Awer d'TCP-Portnummer muss explizit spezifizéiert ginn am Fall vun Kommandozeil-Fernverbindunge mat MySQL-Datebank mam -P-Fändel.

# mysql -h localhost -u root -p -P 12345
MariaDB [(none)]> show variables like 'port';

Am Fall vun enger Fernverbindung mat der MySQL Datebank, muss de Root Benotzer explizit konfiguréiert sinn fir erakommen Verbindungen aus all Netzwierker oder nëmmen eng IP Adress z'erméiglechen, andeems Dir de Kommando hei ënnen an der MySQL Konsole ausginn:

# 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

Remote aloggen op MySQL Server iwwer e Kommandozeil Client op den neien Hafen andeems Dir de Kommando ënnen ausgitt.

# mysql -h 192.168.1.159 -P 12345 -u root -p  

Endlech, wann Dir MySQL/MariaDB Datebank Server Hafen geännert hutt, musst Dir Är Verdeelungs Firewall Regelen aktualiséieren fir erakommen Verbindungen op den neien TCP Hafen z'erméiglechen, sou datt Remote Clienten erfollegräich mat der Datebank verbannen.