Accedi al database remoto mysql dalla riga di comando

Ho un server con Rackspace. Voglio accedere al database dalla mia riga di comando del computer locale.

Ho provato a:

mysql -u username -h my.application.com -ppassword 

Ma dà un errore:

ERRORE 2003 (HY000):

Imansible connettersi al server MySQL su “my.application.com” (10061)

    Che cosa causa questo errore e come posso connettermi al database remoto?

    Per accedere direttamente a una console mysql remota, utilizzare il comando seguente:

     mysql -u {username} -p {password} \ -h {remote server ip or name} -P {port} \ -D {DB name} 

    Passa direttamente alla console mysql passando al database indicato.

    modifica il file my.cnf:

    vi /etc/my.cnf :

    assicurati che:

    bind-address=YOUR-SERVER-IP

    e se hai la linea:

    skip-networking

    assicurati di commentarlo:

    #skip-networking

    non dimenticare di riavviare:

    /etc/init.d/mysqld restart

    semplicemente mettilo sul terminale su ubuntu:

     mysql -u username -h host -p 

    Ora premi Invio

    il terminale chiederà la password, inserire la password e il server di database

    Prova questo comando mysql -uuser -hhostname -PPORT -ppassword .

    Ho affrontato una situazione simile e più tardi, quando mysql port per host è stato inserito con il comando, è stato risolto.

    1. prova telnet 3306 . Se non si apre la connessione, o c’è un’impostazione del firewall o il server non è in ascolto (o non funziona).
    2. eseguire netstat -an sul server per vedere se il server è attivo.
    3. È ansible che non si consentano connessioni remote.

      Vedi http://www.cyberciti.biz/tips/how-do-i-enable-remote-access-to-mysql-database-server.html

    Presumo che tu abbia MySQL installato sul tuo computer. Esegui il comando seguente dopo aver riempito i dettagli mancanti:

     mysql -uUSERNAME -pPASSWORD -hHOSTNAME -P3306 

    Se non si desidera utilizzare ssh tunnel, in my.cnf o mysqld.cnf, è necessario modificare 127.0.0.1 con l’indirizzo IP locale ( 192.168.1.100 ) per poter accedere alla LAN. esempio muggito:

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

    Cerca l’ indirizzo di bind in my.cnf o mysqld.cnf

     bind-address = 127.0.0.1 

    e cambiare 127.0.0.1 a 192.168.1.100 (indirizzo IP locale)

     bind-address = 192.168.1.100 

    Per applicare la modifica apportata, è necessario riavviare il server mysql utilizzando il comando successivo.

     sudo /etc/init.d/mysql restart 

    Modifica la root dell’utente per gli accessi in lan (esegui il muggito della query nel server remoto a cui vuoi accedere)

     [email protected]:~$ mysql -u root -p 

    ..

     CREATE USER 'root'@'%' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION; FLUSH PRIVILEGES; 

    Se vuoi avere accesso solo da specifici indirizzi IP, cambia “root” @ “%” in “root” @ “(indirizzo IP o nome host)”

     CREATE USER 'root'@'192.168.1.100' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.100' WITH GRANT OPTION; FLUSH PRIVILEGES; 

    Quindi puoi connetterti:

     [email protected]:~$ mysql -h 192.168.1.100 -u root -p 

    testato su server ubuntu 18.04

    È necessario verificare se l’accesso in ingresso alla porta 3306 è bloccato o meno dal firewall.

    Dovresti inserire la tua password con ‘p’

     mysql -u root -u 1.1.1.1 -p'MyPass' 

    questa soluzione ha funzionato per me:

    Sulla tua macchina remota (esempio: 295.13.12.53) ha accesso al tuo computer remoto di destinazione (che esegue il server mysql)

     ssh -f -L 295.13.12.53:3306:10.18.81.36:3306 [email protected] 

    Ha spiegato:

     ssh -f -L your_ssh_mashine_ipaddress:your_ssh_mashine_local_port:target_ipaddress:target_port [email protected]_ip_address -N 

    your_ssh_mashine_ipaddress – non è un indirizzo ip locale, è un indirizzo ip a cui si sta ssh, in questo esempio 295.13.12.53

    your_ssh_mashine_local_port -questo è la porta personalizzata non 22, in questo esempio è 3306.

    target_ipaddress – ip della macchina che si sta tentando di scaricare DB.

    target_port – 3306 questa è la vera porta per il server MySQL.

    user @ your_ip_address – questa è credenziali ssh per la ssh mashine che ti connetti

    Una volta fatto tutto, torna alla tua macchina e fai questo:

     mysqldump -h 295.13.12.53 -P 3306 -u username -p db_name > dumped_db.sql 

    Chiederà la password, inserirà la tua password e sarai connesso. Spero che questo ti aiuti.

    Anch’io stavo ottenendo lo stesso errore. Ma l’ho trovato utile creando un nuovo utente mysql su server mysql remoti e poi connettersi. Esegui il seguente comando sul server remoto:

     CREATE USER 'openvani'@'localhost' IDENTIFIED BY 'some_pass'; GRANT ALL PRIVILEGES ON *.* TO 'openvani'@'localhost WITH GRANT OPTION; CREATE USER 'openvani'@'%' IDENTIFIED BY 'some_pass'; GRANT ALL PRIVILEGES ON *.* TO 'openvani'@'%' WITH GRANT OPTION; FLUSH PRIVILEGES; 

    Ora puoi connetterti con mysql remoto con il seguente comando.

     mysql -u openvani -h 'any ip address'-p 

    Ecco il post completo:

    http://openvani.com/blog/connect-remotely-mysql-server/

    Prova questo, funziona:

    mysql -h {hostname} -u {username} -p {password} -N -e “{query da eseguire}”

    Per Mac, utilizzare il seguente comando:

     mysql -u app -h hostaddress -P port -D dbname -p 

    e quindi inserire la password quando richiesto.