Connessione a MySQL in Bash (senza MySQL installato)


11

Sto cercando di connettermi a un database MySQL remoto in Bash. Sul server che ospita il database posso digitare:

mysql -u _username_ -p

per connettere.

Vorrei poter digitare:

mysql -h _host_ -u _username_ -p

per connettersi da un altro server. MySQL non è installato sul client, quindi il comando non è stato trovato. C'è qualcosa che posso installare (apt-get preferito) oltre all'intero server MySQL in modo da poter usare i comandi mysql in bash?


1
apt-get install mysql-client Ho pensato che fosse solo per il client GUI.
user722307,

Puoi rispondere alla tua domanda e dopo qualche tempo puoi anche accettarla.
enzotib,

Risposte:


21

Per installare il client MySQL da riga di comando è necessario:

sudo apt-get install mysql-client

e poi puoi farlo

mysql -h HOST -P PORT_NUMBER -u USERNAME -p

Tuttavia, potrebbe essere necessario modificare la configurazione del server MySQL. Di default su Ubuntu il server MySQL accetterà solo connessioni dal server locale. L'impostazione viene chiamata bind-addressed è impostata /etc/mysql/my.cnf. Per impostazione predefinita, è 127.0.0.1necessario modificarlo con l'indirizzo IP del server. Se il server ha più indirizzi IP è possibile scegliere un solo indirizzo IP (ad esempio per la rete interna) o fare in modo che MySQL ascolti tutti gli indirizzi IP facendo il valore0.0.0.0

Sarà inoltre necessario assicurarsi che l'utente MySQL possa accedere al database. Seguendo le istruzioni su Internet, è possibile che tu abbia creato l'utente 'myname'@'localhost', che non sarà in grado di connettersi in remoto. Per creare un nuovo utente in grado di connettersi dal tuo indirizzo IP client devi fare qualcosa del tipo:

GRANT ALL PRIVILEGES ON database_name TO 'username'@'192.168.0.51' IDENTIFIED BY 'password';

Leggi un po 'di più sulla specifica dell'indirizzo utilizzata da MySQL .

Infine, non dimenticare di garantire che il firewall del server consentirà l'accesso alla porta MySQL - il valore predefinito è 3306.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.