Kif tibdel il-Port Default MySQL/MariaDB fil-Linux


F'din il-gwida ser nitgħallmu kif nibdlu l-port default li d-database MySQL/MariaDB torbot f'CentOS 7 u distribuzzjonijiet Linux ibbażati fuq Debian. Il-port default li s-server tad-database MySQL qed jaħdem taħt Linux u Unix huwa 3306/TCP.

Sabiex tibdel il-port default tad-database MySQL/MariaDB fil-Linux, iftaħ il-fajl tal-konfigurazzjoni tas-server MySQL għall-editjar billi toħroġ il-kmand hawn taħt.

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

Fittex għall-stat tal-linja tibda b'[mysqld] u poġġi d-direttiva tal-port li ġejja taħt id-dikjarazzjoni [mysqld], kif muri fis-siltiet tal-fajl hawn taħt. Ibdel il-varjabbli tal-port kif xieraq.

[mysqld] 
port = 12345

Wara li tkun żidt il-port MySQL/MariaDB il-ġdid, issalva u agħlaq il-fajl tal-konfigurazzjoni u installa l-pakkett li ġej taħt CentOS 7 sabiex tapplika r-regoli SELinux meħtieġa biex tippermetti li d-database torbot mal-port il-ġdid.

# yum install policycoreutils-python

Sussegwentement, żid ir-regola SELinux hawn taħt biex torbot is-socket MySQL fuq il-port il-ġdid u terġa 'tibda d-daemon tad-database biex tapplika l-bidliet, billi toħroġ il-kmandi li ġejjin. Għal darb'oħra, ibdel il-varjabbli tal-port MySQL biex taqbel in-numru tal-port tiegħek stess.

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

Sabiex tivverifika jekk il-konfigurazzjoni tal-port għas-server tad-database MySQL/MariaDB ġietx applikata b'suċċess, ħarġet kmand grep sabiex tidentifika faċilment il-port MySQL il-ġdid.

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

Tista 'wkoll turi l-port MySQL ġdid billi tidħol fid-database MySQL b'kont tal-għeruq u toħroġ il-kmand ta' hawn taħt. Madankollu, kun konxju li l-konnessjonijiet kollha għal MySQL fuq localhost isiru permezz tas-socket tad-dominju MySQL unix, mhux permezz tas-socket TCP. Iżda n-numru tal-port TCP għandu jiġi speċifikat b'mod espliċitu f'każ ta' konnessjonijiet remoti tal-linja tal-kmand mad-database MySQL bl-użu tal-marka -P.

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

F'każ ta' konnessjoni remota mad-database MySQL, l-utent għerq għandu jkun ikkonfigurat b'mod espliċitu biex jippermetti konnessjonijiet deħlin minn netwerks kollha jew biss indirizz IP, billi joħroġ il-kmand hawn taħt fil-console MySQL:

# 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

Idħol mill-bogħod fis-server MySQL permezz ta 'klijent tal-linja tal-kmand fuq il-port il-ġdid billi toħroġ il-kmand ta' hawn taħt.

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

Fl-aħħarnett, ladarba tkun bdilt il-port tas-server tad-database MySQL/MariaDB, għandek bżonn taġġorna r-regoli tal-Firewall tad-distribuzzjoni tiegħek biex tippermetti konnessjonijiet deħlin mal-port TCP il-ġdid sabiex il-klijenti remoti jkunu jistgħu jikkonnettjaw b'suċċess mad-database.