sql >> Databasteknik >  >> RDS >> Mysql

Hur man ändrar standard MySQL/MariaDB-port i Linux

I den här guiden lär vi oss hur du ändrar standardporten som MySQL/MariaDB databas binds i CentOS 7 och Debian -baserade Linux-distributioner. Standardporten som MySQL-databasservern körs under Linux och Unix är 3306/TCP .

För att ändra standard MySQL/MariaDB databasport i Linux, öppna MySQL-serverns konfigurationsfil för redigering genom att utfärda kommandot nedan.

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

Sök efter radstatistiken börjar med [mysqld] och placera följande portdirektiv under [mysqld] uttalande, som visas i filutdragen nedan. Byt ut portvariabeln i enlighet med detta.

[mysqld] 
port = 12345

När du har lagt till den nya MySQL/MariaDB port, spara och stäng konfigurationsfilen och installera följande paket under CentOS 7 för att tillämpa den nödvändiga SELinux regler för att tillåta databasen att binda till den nya porten.

# yum install policycoreutils-python

Lägg sedan till nedanstående SELinux regel för att binda MySQL-socket på den nya porten och starta om databasdemonen för att tillämpa ändringar, genom att utfärda följande kommandon. Återigen, ersätt MySQL-portvariabeln för att matcha ditt eget portnummer.

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

För att verifiera om portkonfigurationen för MySQL/MariaDB databasservern har använts, utfärda netstat eller ss-kommando och filtrera resultaten via grep-kommandot för att enkelt identifiera den nya MySQL-porten.

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

Du kan också visa den nya MySQL-porten genom att logga in på MySQL-databasen med root-kontot och utfärda kommandot nedan. Var dock medveten om att alla anslutningar till MySQL på localhost görs via MySQL unix-domänsocket, inte via TCP-socket. Men TCP-portnumret måste anges uttryckligen i händelse av fjärranslutningar på kommandoraden till MySQL-databasen med -P flagga.

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

Vid fjärranslutning till MySQL-databasen måste rotanvändaren uttryckligen konfigureras för att tillåta inkommande anslutningar från alla nätverk eller bara en IP-adress, genom att utfärda kommandot nedan i MySQL-konsolen:

# 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

Fjärrlogga in på MySQL-servern via en kommandoradsklient på den nya porten genom att utfärda kommandot nedan.

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

Slutligen, när du har ändrat MySQL/MariaDB databasserverport måste du uppdatera dina distributionsbrandväggsregler för att tillåta inkommande anslutningar till den nya TCP-porten så att fjärrklienter kan ansluta till databasen.


  1. Mekanismer för att spåra DB-schemaändringar

  2. Hur man skapar en tom SQLite-databas

  3. PG COPY-fel:ogiltig indatasyntax för heltal

  4. Hur man installerar sqlcmd &bcp på Ubuntu