sql >> Database teknologi >  >> RDS >> Mysql

Sådan ændres standard MySQL/MariaDB-port i Linux

I denne vejledning lærer vi, hvordan du ændrer standardporten, som MySQL/MariaDB database binder i CentOS 7 og Debian -baserede Linux-distributioner. Standardporten, som MySQL-databaseserveren kører under Linux og Unix, er 3306/TCP .

For at ændre standard MySQL/MariaDB databaseport i Linux, åbn MySQL-serverkonfigurationsfilen til redigering ved at udstede nedenstående kommando.

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

Søgning efter linjestatistikken starter med [mysqld] og placer følgende portdirektiv under [mysqld] erklæring, som vist i nedenstående filuddrag. Udskift portvariablen i overensstemmelse hermed.

[mysqld] 
port = 12345

Når du har tilføjet den nye MySQL/MariaDB port, gem og luk konfigurationsfilen og installer følgende pakke under CentOS 7 for at anvende den påkrævede SELinux regler for at tillade databasen at binde sig til den nye port.

# yum install policycoreutils-python

Tilføj derefter nedenstående SELinux regel for at binde MySQL-socket på den nye port og genstarte databasedæmonen for at anvende ændringer ved at udstede følgende kommandoer. Igen, udskift MySQL-portvariablen for at matche dit 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]  

For at kontrollere, om portkonfigurationen for MySQL/MariaDB databaseserveren er blevet anvendt, udgiv netstat eller ss-kommando og filtrer resultaterne via grep-kommandoen for nemt at identificere den nye MySQL-port.

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

Du kan også få vist den nye MySQL-port ved at logge ind på MySQL-databasen med root-konto og udstede nedenstående kommando. Vær dog opmærksom på, at alle forbindelser til MySQL på localhost sker via MySQL unix domæne-socket, ikke via TCP-socket. Men TCP-portnummeret skal udtrykkeligt angives i tilfælde af kommandolinjefjernforbindelser til MySQL-databasen ved hjælp af -P flag.

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

I tilfælde af fjernforbindelse til MySQL-databasen skal root-brugeren udtrykkeligt konfigureres til at tillade indgående forbindelser fra alle netværk eller kun en IP-adresse ved at udstede nedenstående kommando i MySQL-konsollen:

# 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

Log ind på MySQL-serveren via en kommandolinjeklient på den nye port ved at udstede nedenstående kommando.

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

Endelig, når du har ændret MySQL/MariaDB databaseserverport, skal du opdatere dine distributions Firewall-regler for at tillade indgående forbindelser til den nye TCP-port, så fjernklienter kan oprette forbindelse til databasen.


  1. PostgreSQL tabelvariabel

  2. Eksport af en PostgreSQL-database med phpPgAdmin

  3. Gå og IN-klausul i Postgres

  4. Sådan bruger du forberedte udsagn med Postgres