Yadda ake Canja Default MySQL/MariaDB Port a Linux


A cikin wannan jagorar za mu koyi yadda ake canza tashar tashar tsoho wanda MySQL/MariaDB database ke ɗaure a cikin CentOS 7 da rarraba Linux na tushen Debian. Tsohuwar tashar jiragen ruwa wanda uwar garken bayanan MySQL ke gudana a ƙarƙashin Linux kuma Unix shine 3306/TCP.

Domin canza tsohuwar tashar tashar bayanai ta MySQL/MariaDB a cikin Linux, buɗe fayil ɗin sanyi na uwar garken MySQL don gyara ta hanyar ba da umarnin da ke ƙasa.

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

Nemo lissafin layin yana farawa da [mysqld] kuma sanya umarnin tashar tashar jiragen ruwa mai zuwa ƙarƙashin bayanin [mysqld], kamar yadda aka nuna a cikin bayanan fayil ɗin ƙasa. Sauya canjin tashar tashar jiragen ruwa daidai.

[mysqld] 
port = 12345

Bayan kun ƙara sabon tashar tashar MySQL/MariaDB, ajiyewa da rufe fayil ɗin sanyi kuma shigar da fakitin mai zuwa a ƙarƙashin CentOS 7 don amfani da ka'idodin SELinux da ake buƙata don ba da damar bayanai don ɗaure kan sabon tashar jiragen ruwa.

# yum install policycoreutils-python

Na gaba, ƙara ƙa'idodin SELinux da ke ƙasa don ɗaure soket na MySQL akan sabon tashar jiragen ruwa kuma sake kunna daemon bayanan don amfani da canje-canje, ta hanyar ba da umarni masu zuwa. Hakanan, maye gurbin canjin tashar tashar MySQL don dacewa da lambar tashar tashar ku.

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

Domin tabbatar da idan an yi nasarar amfani da saitin tashar tashar jiragen ruwa don uwar garken bayanan MySQL/MariaDB, ba da umarnin grep don gano sabon tashar tashar MySQL cikin sauƙi.

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

Hakanan zaka iya nuna sabon tashar tashar MySQL ta shiga cikin bayanan MySQL tare da tushen asusun kuma ba da umarnin da ke ƙasa. Koyaya, ku sani cewa duk haɗin kai zuwa MySQL akan localhost ana yin su ta soket ɗin yanki na MySQL unix, ba ta soket na TCP ba. Amma dole ne a bayyana lambar tashar tashar TCP a sarari idan akwai haɗin nesa na layin umarni zuwa bayanan MySQL ta amfani da tutar -P.

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

Idan akwai haɗin nesa zuwa bayanan MySQL, dole ne a daidaita mai amfani da tushen don ba da damar haɗin haɗin gwiwa ya samar da duk hanyoyin sadarwa ko adireshin IP kawai, ta hanyar ba da umarnin da ke ƙasa a cikin na'ura ta 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

Shiga cikin nisa zuwa uwar garken MySQL ta hanyar abokin ciniki na layin umarni akan sabon tashar jiragen ruwa ta hanyar ba da umarnin da ke ƙasa.

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

A ƙarshe, da zarar kun canza tashar tashar uwar garken bayanan MySQL/MariaDB, kuna buƙatar sabunta ƙa'idodin Firewall ɗin rarraba ku don ba da damar haɗin kai zuwa sabuwar tashar TCP ta yadda abokan ciniki na nesa su sami nasarar haɗi zuwa bayanan.