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

Come modificare la porta predefinita MySQL/MariaDB in Linux

In questa guida impareremo come modificare la porta predefinita che MySQL/MariaDB il database si lega in CentOS 7 e Debian distribuzioni basate su Linux. La porta predefinita che il server di database MySQL esegue in Linux e Unix è 3306/TCP .

Per modificare l'impostazione predefinita MySQL/MariaDB porta del database in Linux, apri il file di configurazione del server MySQL per la modifica eseguendo il comando seguente.

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

La ricerca della riga stat inizia con [mysqld] e inserisci la seguente direttiva port sotto [mysqld] dichiarazione, come mostrato negli estratti del file di seguito. Sostituisci la variabile della porta di conseguenza.

[mysqld] 
port = 12345

Dopo aver aggiunto il nuovo MySQL/MariaDB port, salva e chiudi il file di configurazione e installa il seguente pacchetto in CentOS 7 per applicare il SELinux richiesto regole per consentire al database di collegarsi alla nuova porta.

# yum install policycoreutils-python

Quindi, aggiungi il seguente SELinux regola per associare il socket MySQL sulla nuova porta e riavviare il demone del database per applicare le modifiche, eseguendo i seguenti comandi. Di nuovo, sostituisci la variabile di porta MySQL in modo che corrisponda al tuo numero di porta.

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

Per verificare se la configurazione della porta per MySQL/MariaDB il server del database è stato applicato correttamente, emettere netstat o comando ss e filtra i risultati tramite il comando grep per identificare facilmente la nuova porta MySQL.

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

Puoi anche visualizzare la nuova porta MySQL accedendo al database MySQL con l'account root ed emettendo il comando seguente. Tuttavia, tieni presente che tutte le connessioni a MySQL su localhost vengono effettuate tramite il socket del dominio unix MySQL, non tramite il socket TCP. Ma il numero di porta TCP deve essere specificato in modo esplicito in caso di connessioni remote da riga di comando al database MySQL utilizzando il -P bandiera.

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

In caso di connessione remota al database MySQL, l'utente root deve essere esplicitamente configurato per consentire connessioni in entrata da tutte le reti o solo da un indirizzo IP, eseguendo il comando seguente nella console 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

Accedi in remoto al server MySQL tramite un client della riga di comando sulla nuova porta eseguendo il comando seguente.

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

Infine, una volta modificato MySQL/MariaDB porta del server del database, è necessario aggiornare le regole del firewall di distribuzione per consentire le connessioni in entrata alla nuova porta TCP in modo che i client remoti possano connettersi correttamente al database.