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:
[email protected]:~$ mysql -h 192.168.1.100 -u root -p
getest op ubuntu 18.04-server
Antwoord 7, autoriteit 2%
-
probeer
telnet 3306
. Als er geen verbinding wordt geopend, is er een firewall-instelling of luistert de server niet (of werkt niet). -
voer
netstat -an
uit op de server om te zien of de server in de lucht is. -
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 [email protected]_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.
[email protected]_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
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.