Czy możesz mi pomóc rozwiązać ten problem?
Kiedy próbuję kliknąć „zapytanie bazy danych” w menu bazy danych w środowisku roboczym MySQL. daje mi błąd:
Cannot Connect to Database Server
Your connection attempt failed for user 'root' from your host to server at
127.0.0.1:3306:Can't connect to mysql server on '127.0.0.1'(10061)
Please:
1. Check that mysql is running on server 127.0.0.1
2. Check that mysql is running on port 3306 (note: 3306 is the default, but this can
be changed)
3. Check the root has rights to connect to 127.0.0.1 from your address (mysql rights
define what clients can connect to the server and from which machines)
4. Make sure you are both providing a password if needed and using the correct
password for 127.0.0.1 connecting from the host address you're connecting from
mysql
mysql-workbench
user948950
źródło
źródło
Odpowiedzi:
Problem prawdopodobnie wynika z tego, że uwierzytelnianie przez gniazdo jest domyślnie włączone dla użytkownika root, gdy nie jest ustawione żadne hasło, podczas aktualizacji do wersji Ubuntu 16.04.
Rozwiązaniem jest powrót do natywnego uwierzytelniania hasła. Możesz to zrobić, logując się do MySQL przy użyciu uwierzytelniania przez gniazdo, wykonując:
Po zalogowaniu:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
co spowoduje powrót do natywnego (starego domyślnego) uwierzytelniania hasła.
Teraz użyj hasła jako hasła zawsze, gdy jest to wymagane przez MySQL.
źródło
Spróbuj otworzyć
services.msc
z pola wyszukiwania menu Start i spróbuj ręcznie uruchomić usługę MySQL lub bezpośrednio pisaćservices.msc
wRun
poluźródło
sudo mysql-workbench
. Nie wiedziałem, gdzie znaleźć services.mscWygląda na to, że istnieje wiele przyczyn tego błędu.
Moja przyczyna / rozwiązanie
W moim przypadku przyczyną było to, że mój serwer został skonfigurowany tak, aby akceptował tylko połączenia z localhost. Naprawiłem to, postępując zgodnie z tym artykułem: Jak włączyć zdalny dostęp do serwera bazy danych MySQL? . Mój
my.cnf
plik nie miałskip-networking
linii, więc po prostu zmieniłem liniędo
Pozwala to na połączenia z dowolnego adresu IP, a nie tylko 127.0.0.1.
Następnie utworzyłem użytkownika MySql, który mógł łączyć się z mojego komputera klienckiego, uruchamiając następujące polecenia terminala:
# mysql -u root -p mysql> CREATE USER 'username'@'1.2.3.4' IDENTIFIED BY 'password'; -> GRANT ALL PRIVILEGES ON *.* TO 'username'@'1.2.3.4' WITH GRANT OPTION; -> \q
gdzie
1.2.3.4
jest adres IP klienta, z którego próbujesz się połączyć. Jeśli naprawdę masz problemy, możesz użyć'%'
zamiast,'1.2.3.4'
aby zezwolić użytkownikowi na połączenie z dowolnego adresu IP.Inne przyczyny
Aby uzyskać dość obszerną listę, zobacz Przyczyny błędów odmowy dostępu .
źródło
Czy próbowałeś ustalić, czy jest to problem z Workbenchem, czy ogólny problem z połączeniem? Spróbuj tego:
mysql -u root -p -h 127.0.0.1 -P 3306
quit
i Enter, aby zakończyć).Opowiedz, jak to działało.
źródło
bin
katalog w głównym katalogu MySQL) do ścieżki systemowej . Wtedy program klienta mysql będzie dostępny z dowolnego miejsca. Lub możesz po prostu uruchomić to polecenie po wejściu cd do katalogu bin MySQL. Obie powinny działać.Miałem podobny problem w systemie Mac OS i udało mi się to naprawić w ten sposób:
Z terminalu biegnij:
Następnie zostałem poproszony o wprowadzenie hasła. Właśnie nacisnąłem enter, ponieważ nie ustawiono hasła.
Otrzymałem wiadomość następującą:
Jeśli udało ci się zalogować do mysql>, uruchom następujące polecenie:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
Powinieneś otrzymać taką wiadomość:
Twoje hasło to „ hasło ”, a Twoja nazwa użytkownika to „ root ”.
Miłego kodowania :)
źródło
Uruchom polecenie ALTER USER. Pamiętaj, aby zmienić hasło na wybrane przez siebie silne hasło.
sudo mysql
# Zaloguj się do mysql`Uruchom poniższe polecenie
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
Teraz możesz uzyskać do niego dostęp, używając nowego hasła.
Ref: https://www.digitalocean.com/community/tutorials/how-to-install-mysql-on-ubuntu-18-04
źródło
Musiałem uruchomić Workbench jako Administrator. Najwyraźniej nie miał wymaganych uprawnień, aby połączyć się z procesem mojego serwera bazy danych localhost.
Kliknij prawym przyciskiem myszy skrót Workbench i wybierz
Run as Administrator
. W oknie Właściwości skrótu możesz kliknąć „Zaawansowane” i zaznaczyć pole obok „Uruchom jako administrator”, aby zawsze uruchamiać Środowisko pracy z uprawnieniami administratora.źródło
Błąd występuje, ponieważ serwer mysql nie uruchamia się na twoim komputerze. Powinieneś uruchomić go ręcznie. Wykonaj następujące kroki:
Pobierz i zainstaluj serwer wamp zgodnie z posiadaną wersją bitową (32-bitową lub 64-bitową) na komputerze ( http://wampserver-64bit.en.softonic.com/ ) ten link umożliwia pobranie serwera wamp na 64-bitowy.
Jak tylko ją zainstalujesz, możesz ją dwukrotnie kliknąć i uruchomić ... (możesz zobaczyć ikonę po prawej stronie paska zadań, może być ukryta, więc możesz kliknąć strzałkę, która pokazuje ukrywanie uruchomionych aplikacji). kliknij ikonę i przejdź do MySQL
Następnie przejdź do Service i tam możesz znaleźć Start / Resume Services, kliknij na niego.
A teraz gotowe. Otwórz Środowisko pracy mysql i zobacz. Będzie działać.
źródło
Przez chwilę zmagałem się z tym problemem i zanim to odkryłem, wykonałem kilka ponownych instalacji MySQL.
Wiem, że serwer MySQL działał poprawnie, ponieważ mogłem uzyskać dostęp do wszystkich moich baz danych za pomocą wiersza poleceń.
Mam nadzieję, że to działa dla Ciebie.
W MySQL Workbench (5.2.47 CE)
kliknij Mange Server Instances (prawy dolny róg)
kliknij Połączenie
w polu Połączenie wybierz:
Wystąpienie lokalne ($ ServerName) - [email protected]: 3306 '<' Standard (TCP / IP)>
kliknij Edytuj wybrane ...
w obszarze Parametry zmień nazwę hosta localhost lub 127.0.0.1 na nazwę NetBIOS
kliknij Testuj połączenie
Jeśli to działa dla Ciebie, świetnie. Jeśli nie, zmień nazwę hosta z powrotem na taką, jaka była.
źródło
Dla tych, którzy zignorowali, że początkowy komunikat o błędzie jest następujący:
Nazwa org.freedesktop.secrets nie została dostarczona przez żadne pliki .service
Upewnij się, że zainstalowałeś gnome-keyring, korzystając z następującego
sudo apt install gnome-keyring
źródło
Z mojego powodu próbowałem użyć najnowszego MySQL Workbench 8.x do połączenia się z MySQL Server 5.1 (oba działające na Windows Server 2012).
Kiedy odinstalowałem MySQL Workbench 8.xi zainstalowałem MySQL Workbench 6.3.10, pomyślnie połączyłem się z
localhost
bazą danychźródło
Aby być na bieżąco z wersjami wyższymi i późniejszymi odwiedzającymi:
Obecnie pracuję nad 64-bitową wersją win7, która ma różne narzędzia, w tym Python 2.7.4 jako warunek wstępny dla google android ...
Kiedy zaktualizowałem WB 6.0.8-win32 do wyższych wersji, aby mieć wydajność 64-bitową, miałem pewne problemy, na przykład na 6.3.5-winx64. Miałem błąd w widoku szczegółów tabel (nieuporządkowany widok), który spowodował, że spadłem do wersji 6.2. 5-winx64.
Jako użytkownik GUI, łatwa inżynieria do przodu / wstecz i elementy względne serwera db działały dobrze, ale kiedy spróbujemy
Database>Connect to Database
, będziemy mieliNot connected
i będziemy mieli błąd Pythona, jeśli spróbujemy wykonać zapytanie, jednak usługa serwera DB jest całkowicie uruchomiona i działa dobrze a ten problem nie pochodzi z serwera i pochodzi z Workbencha. Aby rozwiązać ten problem, musimy użyćQuery>Reconnect to Server
do jawnego wybrania połączenia DB, a wtedy prawie wszystko wygląda dobrze (może to wynikać z moich wielu połączeń z bazą danych i nie mogłem znaleźć rozwiązania do zdefiniowania domyślnego połączenia DB w środowisku roboczym).Uwaga: ponieważ używam najnowszej wersji Xamppa (nawet w Linuksie uzależniająco :)), ostatnio Xampp używa mariadb 10 zamiast mysql 5.x powoduje, że wersja pliku mysql to 10 może powodować problemy, takie jak inżynieria procedur z wyprzedzeniem co można rozwiązać za pomocą,
mysql_upgrade.exe
ale mimo to, gdy spróbujemy sprawdzić połączenie z bazą danych, wb poinformuje o złej wersji, jednak nie jest to krytyczne i działa dobrze.Wniosek: Dlatego czasami problemy z połączeniem db w środowisku roboczym mogą być spowodowane przez niego samego, a nie serwer (jeśli nie masz innych problemów związanych z połączeniem db).
źródło
W moim przypadku właśnie zainstalowałem MySQL Workbench, ale po odinstalowaniu MySQL Workbench i zainstalowaniu instalatora MySQL i jest taki sam dla 32 i 64 bitów, a potem działa jak urok. Mam nadzieję, że może się przydać.
źródło
Od dłuższego czasu też zmagałem się z tym problemem.
Przeszedłem przez ten interesujący wątek z forum MySQL: http://forums.mysql.com/read.php?11,11388,11388#msg-11388
Spotkałem też (oczywiście) dobre pytania SO Q / A.
Wygląda na to, że wiadomość wspomniana w pytaniu "user948950" może pochodzić z wielu różnych przyczyn: zbyt duży plik dziennika, nieprawidłowe wartości pliku mysql.ini, spacje w ścieżce do pliku, problem z bezpieczeństwem / acl, stare wpisy w rejestr i tak dalej.
Tak więc, po 3h próbach naprawienia tego ... porzuciłem i zdecydowałem się na starą, dobrą ponowną instalację.
W tym miejscu przydał się ten post z (ponownie) tego wątku MySQL , cytuję:
Miałem kłopoty, kiedy po prostu kopiowałem / wklejałem bazy danych, które miałem w moim poprzednim katalogu "data" do nowego. Tak więc praca, którą znalazłem, polegała na wyeksportowaniu każdej bazy danych (wiem ... to dużo zabawy), a następnie ponownym zaimportowaniu ich jeden po drugim.
FYI: użyłem następującego polecenia do importu
C:/<MySQLInstallDir>/My SQL Server x.x/bin/mysql -u root -p <dbName> < "<dirPathOfDump>\<dumpName>.sql"
, to znaczy na przykładC:/mysql/MySQL Server 5.6/bin/mysql -u root -p mySupaCoolDb < "C:\mySupaCoolDbDump20130901.sql"
źródło
Byłem w podobnych sytuacjach wcześniej i ostatnio zauważyłem, że był to problem z aktualizacją systemu Windows (nie jestem pewien). Tym razem otworzyłem środowisko MySQL i nie znalazłem połączenia z moją lokalną bazą danych. Nie widzę moich tabel, ale wczoraj mogłem połączyć się z bazą danych.
Odkryłem, że moją przyczyną jest to, że po pozostawieniu komputera w stanie uśpienia przez pewien czas i ponownym wybudzeniu go, usługa mysql nie działa. Moje rozwiązanie: uruchom ponownie usługę o nazwie „mysql” i ponownie uruchom środowisko robocze. Ponowne uruchomienie usługi zajmuje trochę czasu, ale działa.
źródło
Mój problem polegał na tym, że serwer MySQL nie był faktycznie zainstalowany. Uruchomiłem Instalatora MySQL, ale nie zainstalował on serwera MySQL.
Ponownie uruchomiłem instalator, kliknąłem „Dodaj”, a następnie dodałem serwer MySQL do listy. Teraz działa dobrze.
źródło
Problem w tym, że serwer MYSQL nie jest zainstalowany. Możesz pobrać instalator stąd
Następnie obejrzyj ten 6-minutowy samouczek dotyczący instalacji .
Jeśli wtedy tworzenie nowego połączenia w MYSQL Workbench nie działa, upewnij się, że uruchamiasz to połączenie jako root, jak pokazano poniżej:
Jeśli nie możesz znaleźć swojego pliku .ini, sprawdź tę odpowiedź.
źródło