Giunsa Pagbag-o ang Default nga MySQL/MariaDB Port sa Linux


Sa kini nga giya mahibal-an naton kung giunsa ang pagbag-o sa default port nga gigapos sa database sa MySQL/MariaDB sa CentOS 7 ug mga distribusyon sa Linux nga nakabase sa Debian. Ang default port nga ang MySQL database server nagdagan ubos sa Linux ug Unix mao ang 3306/TCP.

Aron mabag-o ang default MySQL/MariaDB database port sa Linux, ablihi ang MySQL server configuration file alang sa pag-edit pinaagi sa pag-isyu sa ubos nga sugo.

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

Ang pagpangita sa line stat magsugod sa [mysqld] ug ibutang ang mosunod nga port directive ubos sa [mysqld] statement, sama sa gipakita sa ubos nga mga kinutlo sa file. Ilisan ang port variable sumala niana.

[mysqld] 
port = 12345

Human nimo madugang ang bag-ong MySQL/MariaDB port, i-save ug isara ang configuration file ug i-install ang mosunod nga package ubos sa CentOS 7 aron ma-apply ang gikinahanglan nga mga lagda sa SELinux aron tugotan ang database sa pagbugkos sa bag-ong pantalan.

# yum install policycoreutils-python

Sunod, idugang ang ubos nga lagda sa SELinux aron ibugkos ang MySQL socket sa bag-ong pantalan ug i-restart ang database daemon aron magamit ang mga pagbag-o, pinaagi sa pag-isyu sa mosunod nga mga sugo. Pag-usab, ilisan ang MySQL port variable aron mohaum sa imong kaugalingong port number.

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

Aron mapamatud-an kung ang port configuration alang sa MySQL/MariaDB database server malampuson nga gigamit, isyu grep command aron daling mailhan ang bag-ong MySQL port.

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

Mahimo usab nimo ipakita ang bag-ong MySQL port pinaagi sa pag-log in sa MySQL database nga adunay root account ug i-isyu ang ubos nga sugo. Apan, hibaloi nga ang tanang koneksyon sa MySQL sa localhost gihimo pinaagi sa MySQL unix domain socket, dili pinaagi sa TCP socket. Apan ang numero sa TCP port kinahanglan nga tin-aw nga espesipiko sa kaso sa command line nga layo nga koneksyon sa MySQL database gamit ang -P nga bandila.

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

Sa kaso sa layo nga koneksyon sa MySQL database, ang gamut nga tiggamit kinahanglan nga klaro nga ma-configure aron tugotan ang umaabot nga mga koneksyon nga maporma ang tanan nga mga network o usa lamang ka IP address, pinaagi sa pag-isyu sa ubos nga command sa MySQL console:

# 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

Pag-log in sa layo sa MySQL server pinaagi sa usa ka command line nga kliyente sa bag-ong pantalan pinaagi sa pag-isyu sa ubos nga sugo.

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

Sa katapusan, sa higayon nga imong giusab ang MySQL/MariaDB database server port, kinahanglan nimo nga i-update ang imong distribution Firewall nga mga lagda aron tugotan ang mga umaabot nga koneksyon sa bag-ong TCP port aron ang mga hilit nga kliyente mahimong malampuson nga makakonektar sa database.