Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak zmienić domyślny port MySQL/MariaDB w systemie Linux?

W tym przewodniku dowiemy się, jak zmienić domyślny port MySQL/MariaDB baza danych wiąże się w CentOS 7 i Debian oparte na dystrybucji Linuksa. Domyślny port, na którym serwer bazy danych MySQL działa w systemach Linux i Unix to 3306/TCP .

Aby zmienić domyślny MySQL/MariaDB port bazy danych w systemie Linux, otwórz plik konfiguracyjny serwera MySQL do edycji, wydając poniższe polecenie.

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

Wyszukaj statystyki linii zaczyna się od [mysqld] i umieść następującą dyrektywę portu w [mysqld] oświadczenie, jak pokazano w poniższych fragmentach plików. Zamień odpowiednio zmienną portu.

[mysqld] 
port = 12345

Po dodaniu nowego MySQL/MariaDB portu, zapisz i zamknij plik konfiguracyjny i zainstaluj następujący pakiet pod CentOS 7 w celu zastosowania wymaganego SELinux zasady umożliwiające bazie danych wiązanie na nowym porcie.

# yum install policycoreutils-python

Następnie dodaj poniższy SELinux reguły, aby powiązać gniazdo MySQL na nowym porcie i zrestartować demona bazy danych, aby zastosować zmiany, wydając następujące polecenia. Ponownie zastąp zmienną portu MySQL, aby odpowiadała Twojemu numerowi portu.

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

Aby sprawdzić, czy konfiguracja portu dla MySQL/MariaDB serwer bazy danych został pomyślnie zastosowany, wydaj polecenie netstat lub ss i filtruj wyniki za pomocą polecenia grep, aby łatwo zidentyfikować nowy port MySQL.

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

Możesz również wyświetlić nowy port MySQL, logując się do bazy danych MySQL za pomocą konta root i wydaj poniższe polecenie. Należy jednak pamiętać, że wszystkie połączenia z MySQL na hoście lokalnym są nawiązywane przez gniazdo domeny unixowej MySQL, a nie przez gniazdo TCP. Ale numer portu TCP musi być wyraźnie określony w przypadku zdalnych połączeń wiersza poleceń do bazy danych MySQL przy użyciu -P flaga.

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

W przypadku zdalnego połączenia z bazą danych MySQL, użytkownik root musi być wyraźnie skonfigurowany, aby zezwalać na połączenia przychodzące ze wszystkich sieci lub tylko z adresu IP, wydając poniższe polecenie w konsoli 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

Zdalnie zaloguj się do serwera MySQL za pomocą klienta wiersza poleceń na nowym porcie, wydając poniższe polecenie.

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

Wreszcie, po zmianie MySQL/MariaDB portu serwera bazy danych, musisz zaktualizować reguły zapory dystrybucji, aby zezwolić na połączenia przychodzące do nowego portu TCP, aby zdalni klienci mogli pomyślnie łączyć się z bazą danych.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Instrukcja SQL CASE

  2. Jak zainstalować najnowszą wersję MySQL 8 na Debianie 10?

  3. Ostrzeżenie:mysql_fetch_array() oczekuje, że parametr 1 będzie zasobem, podana wartość logiczna w

  4. Importowanie pliku CSV do MySQL z innym formatem daty

  5. Dlaczego warunek IN miałby być wolniejszy niż =w sql?