GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come consentire connessioni remote a MySQL

Introduzione

Non è raro ospitare database e server Web sulla stessa macchina locale. Tuttavia, molte organizzazioni stanno ora passando a un ambiente più distribuito.

Un server di database separato può migliorare la sicurezza, le prestazioni hardware e consentire di ridimensionare rapidamente le risorse. In tali casi d'uso, imparare a gestire efficacemente le risorse remote è una priorità.

Questo tutorial mostra come abilitare le connessioni remote a un database MySQL.

Prerequisiti

  • Accesso a una finestra di terminale/riga di comando
  • Server MySQL remoto
  • Sudo o root privilegi su macchine locali e remote

Connessione remota a MySQL Server

Consentire le connessioni a un server MySQL remoto è impostato in 3 passaggi:

  1. Modifica file di configurazione MySQL
  2. Configura firewall
  3. Connettiti al server MySQL remoto

Fase 1:modifica il file di configurazione MySQL

1.1 Accedi al file mysqld.cnf

Usa il tuo editor di testo preferito per aprire mysqld.cnf file. Questo esempio utilizza l'editor di testo nano in Ubuntu 18.04. Immettere il seguente comando nell'interfaccia della riga di comando per accedere al file di configurazione del server MySQL:

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

La posizione del file può variare in base alla distribuzione e alla versione in uso. Se il file di configurazione MySQL non è la sua posizione predefinita, prova a utilizzare find di Linux comando per rilevarlo.

1.2 Modifica dell'indirizzo IP di collegamento

Ora hai accesso al file di configurazione del server MySQL. Scorri verso il basso fino all'indirizzo di rilegatura riga e modificare l'indirizzo IP. L'attuale IP predefinito è impostato su 127.0.0.1. Questo IP limita le connessioni MySQL alla macchina locale.

Il nuovo IP dovrebbe corrispondere all'indirizzo della macchina che deve accedere al server MySQL in remoto. Ad esempio, se colleghi MySQL a 0.0.0.0, anche qualsiasi macchina che raggiunge il server MySQL può connettersi con esso.

Una volta apportate le modifiche necessarie, salva ed esci dal file di configurazione.

1.3 Riavvia il servizio MySQL

Applicare le modifiche apportate al file di configurazione MySQL riavviando il servizio MySQL:

sudo systemctl restart mysql

Successivamente, le impostazioni correnti del firewall devono essere modificate per consentire il traffico verso la porta MySQL predefinita.

Passaggio 2:imposta il firewall per consentire la connessione MySQL remota

Durante la modifica del file di configurazione, probabilmente hai notato che la porta MySQL predefinita è 3306 .

Se hai già configurato un firewall sul tuo server MySQL, devi aprire il traffico per questa porta specifica. Segui le istruzioni seguenti che corrispondono al tuo servizio firewall in uso.

Opzione 1:UFW (firewall semplice)

UFW è lo strumento firewall predefinito in Ubuntu. In una finestra del terminale, digita il seguente comando per consentire il traffico e abbinare l'IP e la porta:

sudo ufw allow from remote_ip_address to any port 3306

Il sistema conferma che le regole sono state aggiornate correttamente.

Opzione 2:FirewallD

Lo strumento di gestione firewalld in CentOS utilizza zone per stabilire quale traffico deve essere consentito.

Crea una nuova zona per impostare le regole per il traffico del server MySQL. Il nome della zona nel nostro esempio è mysqlrule e abbiamo utilizzato l'indirizzo IP del nostro esempio precedente 133.155.44.103 :

sudo firewall-cmd --new-zone=mysqlrule --permanent
sudo firewall-cmd --reload
sudo firewall-cmd --permanent --zone=mysqlrule --add-source=133.155.44.103
sudo firewall-cmd --permanent --zone=mysqlrule --add-port=3306/tcp
sudo firewall-cmd --reload

Hai aperto con successo la porta 3306 sul firewall.

Opzione 3:apri la porta 3306 con iptables

Gli iptables l'utilità è disponibile sulla maggior parte delle distribuzioni Linux per impostazione predefinita. Digita il seguente comando per aprire la porta MySQL 3306 al traffico illimitato:

sudo iptables -A INPUT -p tcp --dport 3306 -j ACCEPT

Per limitare l'accesso a un indirizzo IP specifico, utilizzare invece il seguente comando:

sudo iptables -A INPUT -p tcp -s 133.155.44.103 --dport 3306 -j ACCEPT

Questo comando concede l'accesso a 133.155.44.103. Dovresti sostituirlo con l'IP per la tua connessione remota.

È necessario salvare le modifiche apportate alle regole di iptables. In una distribuzione basata su Ubuntu, digita i seguenti comandi:

sudo netfilter-persistent save
sudo netfilter-persistent reload

Digita il comando successivo per salvare le nuove regole di iptables in CentOS:

service iptables save

Fase 3:connettiti al server MySQL remoto

Il tuo server remoto è ora pronto per accettare connessioni. Usa il comando seguente per stabilire una connessione con il tuo server MySQL remoto:

mysql -u username -h mysql_server_ip -p

Il -u username nel comando rappresenta il tuo nome utente MySQL. Il -h mysql_server_ip è l'IP o il nome host del tuo server MySQL. Il -p l'opzione richiede di inserire la password per il nome utente MySQL.

Dovresti vedere un output simile a quello qui sotto:

Connection to mysql_server_ip 3306 port [tcp/mysql] succeeded!

Come concedere l'accesso remoto al nuovo database MySQL?

Se non hai ancora alcun database, puoi creare facilmente un database digitando il seguente comando nella tua shell MySQL:

CREATE DATABASE ‘yourDB’;

Per concedere l'accesso remoto a un database specifico:

GRANT ALL PRIVILEGES ON yourDB.* TO [email protected]’133.155.44.103’ IDENTIFIED BY ‘password1’;

Il nome del database, il nome utente, l'IP remoto e la password devono corrispondere alle informazioni che desideri utilizzare per la connessione remota.

Come concedere l'accesso remoto al database MySQL esistente

La concessione dell'accesso remoto a un utente per un database esistente richiede un insieme di due comandi:

update db set Host=’133.155.44.103' where Db='yourDB';
update user set Host=’133.155.44.103' where user='user1';

Utente1 ora è in grado di accedere al tuo DB da una postazione remota identificata dall'IP 133.155.44.103 .


Ubuntu
  1. Come installare MySQL Server su CentOS 7

  2. Come installare MySQL Server su Ubuntu 16.04

  3. Come installare MySQL Server su Ubuntu 17.04

  4. Come installare MySQL su Linux Mint 19

  5. Come installare MySQL su Ubuntu 16.04

Come consentire connessioni remote a MySQL

Come installare MySQL 8 su CentOS 8

Come installare il server MySQL in Ubuntu

Come consentire l'accesso remoto al server di database MySQL

Come consentire la connessione remota al server MySQL nel server cPanel/WHM?

Come installare MySQL Server su Ubuntu 20.04