Toegang tot mysql remote database vanaf de opdrachtregel

Ik heb een server met Rackspace. Ik wil toegang krijgen tot de database vanaf de opdrachtregel van mijn lokale machine.

Ik heb geprobeerd als:

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

Maar het geeft een foutmelding:

FOUT 2003 (HY000):

Kan geen verbinding maken met MySQL-server op ‘my.application.com’ (10061)

Wat veroorzaakt deze fout en hoe kan ik verbinding maken met de externe database?


Antwoord 1, autoriteit 100%

Gebruik de onderstaande opdracht om rechtstreeks in te loggen op een mysql-console op afstand:

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

Bijvoorbeeld

mysql -u root -p'root' \
        -h 127.0.0.1 -P 3306 \
        -D local

geen spatie na -p zoals gespecificeerd in de documentatie

Het brengt je rechtstreeks naar de mysql-console door over te schakelen naar de genoemde database.


Antwoord 2, autoriteit 10%

zet dit gewoon op terminal op ubuntu:

mysql -u username -h host -p

Druk nu op enter

terminal zal u om een ​​wachtwoord vragen, voer het wachtwoord in en u bent in de databaseserver


Antwoord 3, autoriteit 9%

bewerk mijn.cnf-bestand:

vi /etc/my.cnf:

zorg ervoor dat:

bind-address=YOUR-SERVER-IP

en als je de regel hebt:

skip-networking

Zorg ervoor dat je er een opmerking over maakt:

#skip-networking

vergeet niet te herstarten:

/etc/init.d/mysqld restart


Antwoord 4, autoriteit 4%

Gebruik voor Mac de volgende opdracht:

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

en voer vervolgens het wachtwoord in wanneer daarom wordt gevraagd.


Antwoord 5, autoriteit 4%

Probeer deze opdracht mysql -uuser -hhostname -PPORT -ppassword.

Ik kreeg te maken met een vergelijkbare situatie en later, toen mysql-poort voor host werd ingevoerd met het commando, was het opgelost.


Antwoord 6, autoriteit 3%

Als u geen ssh-tunnel wilt gebruiken, moet u in my.cnf of mysqld.cnf 127.0.0.1 wijzigen met uw lokale ip-adres (192.168.1.100) om toegang te krijgen via de Lan. voorbeeld hieronder:

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

Zoek naar bind-adres in my.cnf of mysqld.cnf

bind-address            =  127.0.0.1

en verander 127.0.0.1 in 192.168.1.100 (lokaal ip-adres)

bind-address            =  192.168.1.100

Om de aangebrachte wijziging toe te passen, moet de mysql-server opnieuw worden opgestart met het volgende commando.

sudo /etc/init.d/mysql restart

Wijzig gebruiker root voor lan acces (voer de onderstaande query uit op de externe server waartoe u toegang wilt hebben)

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

..

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

Als je alleen toegang wilt hebben vanaf een specifiek ip-adres, verander dan ‘root’@’%’ in ‘root’@'( ip-adres of hostnaam)’

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;

Dan kun je verbinding maken:

nobus@xray:~$ mysql -h 192.168.1.100 -u root -p

getest op ubuntu 18.04-server


Antwoord 7, autoriteit 2%

  1. probeer telnet 3306. Als er geen verbinding wordt geopend, is er een firewall-instelling of luistert de server niet (of werkt niet).

  2. voer netstat -an uit op de server om te zien of de server in de lucht is.

  3. Het is mogelijk dat u geen externe verbindingen toestaat.

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


Antwoord 8, autoriteit 2%

Ik neem aan dat MySQL op uw computer is geïnstalleerd. Voer de onderstaande opdracht uit na het invullen van ontbrekende details:

mysql -uUSERNAME -pPASSWORD -hHOSTNAME -P3306 

Antwoord 9

Moet controleren of inkomende toegang tot poort 3306 al dan niet wordt geblokkeerd door de firewall.


Antwoord 10

mysql-servers zijn meestal geconfigureerd om alleen naar localhost (127.0.0.1) te luisteren, waar ze worden gebruikt door webapplicaties.

Als dat jouw geval is, maar je hebt SSH-toegang tot je server, kun je een ssh-tunnel maken en daar verbinding mee maken.

Maak de tunnel op uw lokale computer.

ssh -L 3307:127.0.0.1:3306 -N $user@$remote_host

(dit voorbeeld gebruikt lokale poort 3307, voor het geval je ook mysql op je lokale computer hebt staan ​​en de standaard poort 3306) gebruikt

Nu zou je bier moeten zijn om contact mee te maken

mysql -u $user -p -h 127.0.0.1 -P 3307

Antwoord 11

Er is een eenvoudig commando.

mysql -h {hostip} -P {port} -u {username} -p {database}

Voorbeeld

mysql -h 192.16.16.2 -P 45012 -u rockbook -p rockbookdb

Antwoord 12

deze oplossing werkte voor mij:

Op uw externe computer (voorbeeld: 295.13.12.53) heeft toegang tot uw externe doelmachine (waarop mysql-server wordt uitgevoerd)

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

Uitgelegd:

ssh -f -L your_ssh_mashine_ipaddress:your_ssh_mashine_local_port:target_ipaddress:target_port user@your_ip_address -N

your_ssh_mashine_ipaddress – het is geen lokaal ip-adres, het is een ip-adres
waarnaar u ssht, in dit voorbeeld 295.13.12.53

your_ssh_mashine_local_port -dit is aangepaste poort niet 22, in dit voorbeeld is het 3306.

target_ipaddress – ip van de machine die u probeert te dumpen DB.

target_port – 3306 dit is een echte poort voor de MySQL-server.

gebruiker@uw_ip_adres – dit zijn ssh-inloggegevens voor de ssh-mashine die u verbindt

Zodra dit alles is voltooid, gaat u terug naar uw machine en doet u dit:

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

Vraagt ​​om wachtwoord, voer je wachtwoord in en je bent verbonden.
Ik hoop dat dit helpt.


Antwoord 13

Probeer dit, het werkt:

mysql -h {hostname} -u{username} -p{password} -N -e “{query om uit te voeren}”


Antwoord 14

Deze werkte voor mij in mysql 8, vervang hostname door je hostnaam en port_number door je port_number, je kunt ook je mysql_user wijzigen als hij geen root is

      mysql --host=host_name --port=port_number -u root -p

Meer informatie hier


Antwoord 15

U moet uw wachtwoord met ‘p’ plaatsen

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

Antwoord 16

Ook ik kreeg dezelfde fout.
Maar vond het nuttig door een nieuwe mysql-gebruiker op een externe mysql-server aan te maken en vervolgens verbinding te maken. Voer de volgende opdracht uit op een externe server:

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;

Je kunt nu verbinding maken met mysql op afstand met het volgende commando.

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

Hier is het volledige bericht:

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


Antwoord 17

Als je Windows gebruikt, probeer dan Visual Studio Code met MySQL-plug-ins, een gemakkelijke en geïntegreerde manier om toegang te krijgen tot MySQL-gegevens op een Windows-computer. En de databasetabellen vermeld en kunnen alle aangepaste query’s uitvoeren.

LEAVE A REPLY

Please enter your comment!
Please enter your name here

11 − five =

Other episodes