Hvernig á að breyta sjálfgefna MySQL/MariaDB tengi í Linux


Í þessari handbók munum við læra hvernig á að breyta sjálfgefna gáttinni sem MySQL/MariaDB gagnagrunnurinn bindur í CentOS 7 og Debian-undirstaða Linux dreifingum. Sjálfgefin tengi sem MySQL gagnagrunnsþjónn keyrir undir Linux og Unix er 3306/TCP.

Til að breyta sjálfgefna MySQL/MariaDB gagnagrunnsgáttinni í Linux, opnaðu MySQL miðlara stillingarskrá til að breyta með því að gefa út skipunina hér að neðan.

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

Leit að línutölunni byrjar á [mysqld] og settu eftirfarandi gáttartilskipun undir [mysqld] yfirlýsingu, eins og sýnt er í skráarútdrættinum hér að neðan. Skiptu um portbreytu í samræmi við það.

[mysqld] 
port = 12345

Eftir að þú hefur bætt við nýju MySQL/MariaDB tenginu skaltu vista og loka stillingarskránni og setja upp eftirfarandi pakka undir CentOS 7 til að beita nauðsynlegum SELinux reglum til að leyfa gagnagrunninum að bindast nýju tenginu.

# yum install policycoreutils-python

Næst skaltu bæta við neðangreindri SELinux reglu til að binda MySQL fals á nýju tenginu og endurræsa gagnagrunnspúkann til að beita breytingum með því að gefa út eftirfarandi skipanir. Aftur skaltu skipta um MySQL gáttarbreytu til að passa við þitt eigið gáttarnúmer.

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

Til að ganga úr skugga um hvort gáttarstillingunni fyrir MySQL/MariaDB gagnagrunnsþjóninn hafi verið beitt skaltu gefa út grep skipunina til að auðkenna nýja MySQL tengið auðveldlega.

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

Þú getur líka sýnt nýju MySQL tengið með því að skrá þig inn í MySQL gagnagrunn með rótarreikningi og gefa út skipunina hér að neðan. Hins vegar skaltu hafa í huga að allar tengingar við MySQL á localhost eru gerðar í gegnum MySQL unix lénstengi, ekki í gegnum TCP falsið. En TCP gáttarnúmerið verður að vera sérstaklega tilgreint ef um er að ræða fjartengingar í stjórnlínu við MySQL gagnagrunn með því að nota -P fánann.

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

Ef um er að ræða fjartengingu við MySQL gagnagrunn verður rótnotandinn að vera sérstaklega stilltur til að leyfa komandi tengingar frá öllum netkerfum eða bara IP tölu, með því að gefa út skipunina hér að neðan í MySQL stjórnborðinu:

# 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

Fjarskráðu þig inn á MySQL miðlara í gegnum skipanalínubiðlara á nýju höfninni með því að gefa út skipunina hér að neðan.

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

Að lokum, þegar þú hefur breytt MySQL/MariaDB gagnagrunnsmiðlaratenginu, þarftu að uppfæra dreifingareldveggsreglurnar þínar til að leyfa komandi tengingar við nýju TCP tengið svo að ytri viðskiptavinir geti tengst gagnagrunninum með góðum árangri.