Impossibile connettersi al server database (mysql workbench)


89

Puoi aiutarmi a risolvere questo problema?

Quando provo a fare clic su "query database" nel menu database nel workbench Mysql. mi dà un errore:

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


3
Questa risposta ha funzionato per me. stackoverflow.com/questions/16129399/...
mcaleaa

Nel mio caso aiuto semplice riavvio - ma posso controllare in primo luogo @sergio suggerimento - stackoverflow.com/a/7875732/6705161 .
dannydedog

Risposte:


105

Il problema è probabilmente dovuto all'autenticazione del socket abilitata per impostazione predefinita per l'utente root quando non è impostata alcuna password, durante l'aggiornamento a ubuntu 16.04.

La soluzione è ripristinare l'autenticazione della password nativa. Puoi farlo accedendo a MySQL usando l'autenticazione del socket facendo:

sudo mysql -u root

Una volta effettuato l'accesso:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

che tornerà all'autenticazione della password nativa (vecchia impostazione predefinita).

Ora usa la password come password ogni volta che viene richiesta da MySQL.


3
Ha funzionato per me, sono sorpreso, ho già configurato la password rigorosa durante l'installazione di mysql e la stessa password rigorosa utilizzata con una determinata query alter. Sono curioso di sapere perché non ha funzionato nel primo tentativo stesso
Vipul Patil

Molte grazie! Questo comportamento è stato creato solo a vantaggio dell'utente root di Unix che esegue l'accesso a mysql senza inserire la password?
Igor de Lorenzi

1
Ottima soluzione. Grazie fratello!
Valney Faria

57

Prova ad aprire services.mscdalla casella di ricerca del menu Start e prova ad avviare manualmente il servizio MySQL o scrivi direttamente services.msc nella Runcasella


1
Non ha funzionato per me. eseguito direttamente dalla riga di comando ´C: \ Program Files \ MySQL \ MySQL Server 5.6 \ bin \ mysqld.exe --console´ (notare che la "d" tra "mysql" e ".exe" ha funzionato (quando si apre il riga di comando "come amministratore"). Quindi suppongo che trovare un modo per avviare il servizio "come amministratore" risolverebbe questo problema.
Adrien Be il

5
Dov'è la casella di ricerca del menu Start?
Everyone_Else

La mia soluzione è stato eseguito Mysql-Workbench con sudo: sudo mysql-workbench . Non sapevo dove trovare services.msc
Luigi Lopez

33

Sembra che ci siano molte cause di questo errore.

La mia causa / soluzione

Nel mio caso, la causa era che il mio server era configurato per accettare solo connessioni da localhost. L'ho risolto seguendo questo articolo: Come posso abilitare l'accesso remoto al server di database MySQL? . Il mio my.cnffile non aveva skip-networkingriga, quindi ho semplicemente cambiato la riga

bind-address = 127.0.0.1

per

bind-address = 0.0.0.0

Ciò consente connessioni da qualsiasi IP, non solo 127.0.0.1.

Quindi, ho creato un utente MySql che potrebbe connettersi dalla mia macchina client eseguendo i seguenti comandi da terminale:

# 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

dov'è 1.2.3.4l'IP del client da cui stai tentando di connetterti. Se hai davvero problemi, puoi usare '%'invece di '1.2.3.4'per consentire all'utente di connettersi da qualsiasi IP.

Altre cause

Per un elenco abbastanza ampio, vedere Cause degli errori di accesso negato .


AFAIK, la creazione dell'utente è necessaria perché l'utente root dovrebbe essere utilizzato solo per il lavoro di amministrazione e sensibilmente dovrebbe essere limitato a localhost. quale utente crei oltre a questo dipende da te!
user3791372

Il collegamento alle cause degli errori di accesso negato è ora interrotto.
Matt Coubrough

21

Hai provato a determinare se questo è un problema con Workbench o un problema di connessione generale? Prova questo:

  1. Apri un terminale
  2. genere mysql -u root -p -h 127.0.0.1 -P 3306
  3. Se riesci a connetterti con successo, vedrai un prompt di mysql dopo aver digitato la password (digita quite Invio per uscire).

Riporta come ha funzionato.


Salve, Dice "mysql non è riconosciuto come comando interno o esterno, programma eseguibile o file batch". Grazie mille.
user948950

1
Potresti voler aggiungere la directory mysql bin (la bindirectory all'interno della directory principale di MySQL) al percorso di sistema . Quindi il programma client mysql sarà disponibile ovunque. Oppure puoi semplicemente eseguire quel comando dopo aver eseguito il cd nella directory bin di MySQL. Entrambi dovrebbero funzionare.
Sergio

2
Quando mi collego a mysql con questo comando $> mysql -u root -p -h 127.0.0.1 -P 3306 Immettere la password: ERRORE 1045 (28000): Accesso negato per l'utente 'root' @ 'localhost' (utilizzando la password: NO) [root @ localhost ~] # mysql -u root -p -h 127.0.0.1 -P 3306 Immettere la password: ERRORE 1045 (28000): Accesso negato per l'utente 'root' @ 'localhost' (utilizzando la password: SI) [root @ localhost ~] # mysql -u admin -p -h 127.0.0.1 -P 3306 Immettere la password: ERRORE 1045 (28000): Accesso negato per l'utente 'admin' @ 'localhost' (utilizzando la password: SI) [root @ localhost ~] #
Sumit Munot

Ha funzionato per me !! Grazie mille!
igor

15

Ho avuto un problema simile su Mac OS e sono stato in grado di risolverlo in questo modo:

Dal terminale, esegui:

mysql -u root -p -h 127.0.0.1 -P 3306

Quindi, mi è stato chiesto di inserire la password. Ho appena premuto Invio poiché non è stata impostata alcuna password.

Ho ricevuto un messaggio come segue:

Benvenuto nel monitor MySQL. I comandi terminano con; o \ g. Il tuo ID di connessione MySQL è 181. Versione server: 8.0.11 Homebrew.

Se sei riuscito ad accedere a mysql>, esegui il seguente comando:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

Dovresti ricevere un messaggio come questo:

Query OK, 0 righe interessate (0,19 sec)

Ora, la tua password è " password " e il tuo nome utente è " root ".

Buona codifica :)


Questo probabilmente non funzionerà più con le installazioni più recenti poiché gli accessi anonimi sono disabilitati.
en_lorithai


7

Ho dovuto avviare Workbench come amministratore. Apparentemente non aveva le autorizzazioni necessarie per connettersi al processo del server del database localhost.

Fare clic con il tasto destro del mouse sul collegamento a Workbench e selezionare Run as Administrator. Nella finestra Proprietà del collegamento, è possibile fare clic su "Avanzate" e selezionare la casella accanto a "Esegui come amministratore" per eseguire sempre Workbench con privilegi di amministratore.


5

L'errore si verifica perché il server mysql non si avvia sul tuo computer. Dovresti avviarlo manualmente. Eseguire i seguenti passaggi:

  1. Scarica e installa il server wamp in base alla tua versione bit (32 bit o 64 bit) sul tuo computer ( http://wampserver-64bit.en.softonic.com/ ) questo link ti permette di scaricare il server wamp per 64 bit.

  2. Non appena lo installi puoi fare doppio clic ed eseguirlo .. (puoi vedere un'icona nella mano destra della barra delle applicazioni, potrebbe essere nascosta. Quindi puoi fare clic sulla freccia che mostra le app nascoste in esecuzione). fare clic sull'icona e andare su Mysql

  3. Quindi vai su Servizio e lì puoi trovare Avvia / Riprendi servizi fare clic su di esso ..

  4. E ora è fatto.Apri mysql workbench e guarda. Funzionerà ..


4

Ho lottato con questo problema per un po 'e ho fatto diverse reinstallazioni di MySQL prima di scoprirlo.

So che il server MySQL funzionava correttamente perché potevo accedere a tutti i miei DB utilizzando la riga di comando.

Spero che questo funzioni per te.

In MySQL Workbench (5.2.47 CE)

fare clic su Istanze server di gestione (angolo in basso a destra)

fare clic su Connessione

nella casella Connessione selezionare:

Istanza locale ($ ServerName) - root@127.0.0.1: 3306 '<' Standard (TCP / IP)>

fare clic su Modifica selezionati ...

in Parametri, Nome host cambia localhost o 127.0.0.1 con il tuo nome NetBIOS

fare clic su Verifica connessione

Se per te funziona, bene. In caso contrario, modificare nuovamente il nome host in quello che era.


2
QUESTO ha funzionato per me. Il nome NetBIOS è il nome del computer, puoi leggerlo dalle proprietà di sistema, scheda "Nome computer", "nome completo del computer".
NeonMan

3

Per chi ha ignorato che il messaggio di errore iniziale visualizzato è il seguente:

Il nome org.freedesktop.secrets non è stato fornito da alcun file .service

Assicurati di installare gnome-keyring usando quanto segue

sudo apt install gnome-keyring

2

Per me il motivo era che ho provato a utilizzare il più recente MySQL Workbench 8.x per connettermi a MySQL Server 5.1 (entrambi in esecuzione su Windows Server 2012).

Quando ho disinstallato MySQL Workbench 8.xe installato MySQL Workbench 6.3.10, si è connesso correttamente al localhostdatabase


1

Per essere aggiornati per le versioni superiori e i visitatori successivi:

Attualmente sto lavorando su una win7 a 64 bit con diversi strumenti tra cui python 2.7.4 come prerequisito per google android ...

Quando ho aggiornato da WB 6.0.8-win32 alle versioni superiori per avere prestazioni a 64 bit ho avuto alcuni problemi, ad esempio su 6.3.5-winx64 ho avuto un bug nella visualizzazione dei dettagli delle tabelle (visualizzazione disordinata) che mi ha causato il downgrade a 6.2. 5-winx64.

Come utente GUI, l'ingegneria semplice in avanti / indietro e gli elementi relativi al server db funzionavano bene ma quando proviamo Database>Connect to Databaseavremo Not connectede avremo un errore python se proviamo a eseguire una query, tuttavia il servizio server DB è assolutamente eseguito e funziona bene e questo problema non proviene dal server ma dal workbench. Per risolverlo dobbiamo usare Query>Reconnect to Serverper scegliere la connessione DB in modo esplicito e quindi quasi tutto sembra a posto (ciò potrebbe essere dovuto alle mie connessioni DB multiple e non sono riuscito a trovare una soluzione per definire la connessione DB predefinita in workbench).

Nota: poiché sto utilizzando l'ultima versione di Xampp (anche in Linux in modo assuefacente :)), recentemente Xampp utilizza mariadb 10 invece di mysql 5.x fa sì che la versione del file mysql sia 10 può causare alcuni problemi come l'ingegneria avanzata delle procedure che può essere risolto tramite mysql_upgrade.exema comunque quando proviamo a controllare una connessione db wb informerà della versione sbagliata tuttavia non è critica e funziona bene.

Conclusione: quindi a volte i problemi di connessione al database nel workbench possono essere dovuti a se stesso e non al server (se non si hanno altri problemi relativi alla connessione al database).


1

Nel mio caso ho appena installato MySQL Workbench ma dopo aver disinstallato MySQL Workbench e installato il programma di installazione di MySQL ed è lo stesso sia per 32 che per 64 bit, dopo aver funzionato a meraviglia. Spero possa essere utile.


0

Ho anche lottato con questo problema per un bel po '.

Mi sono imbattuto in questo interessante thread dal forum MySQL: http://forums.mysql.com/read.php?11,11388,11388#msg-11388

Ho anche incontrato (ovviamente) alcune buone domande / risposte SO.

Sembra che il messaggio citato nella domanda "user948950" possa derivare da una vasta gamma di motivi: file di log troppo grande, valori errati del file mysql.ini, spazi nel percorso del file, problema di sicurezza / acl, vecchie voci nel registro e così via.

Quindi, dopo aver provato per 3 ore a risolvere questo problema ... ho abbandonato e ho deciso di fare una buona vecchia reinstallazione.

È qui che è tornato utile questo post di (di nuovo) questo thread MySQL , cito:

Gary Williams ha scritto: Ciao ragazzi,

Ho avuto esattamente lo stesso problema ed è così che l'ho fatto funzionare per me, a partire da un'installazione non funzionante.

  1. Arresta il servizio Windows per qualsiasi installazione mysql esistente.

  2. Disinstallare Mysql.

Come con la maggior parte delle disinstallazioni, i vecchi file vengono lasciati indietro. Se la tua directory è C: \ mysql \ etc, elimina i file innob, ecc. Ma lascia le directory stesse e tutti i database esistenti in "data". Se la tua directory è C: \ Programmi \ ecc., Elimina tutte le directory mysql.

  1. Ora vale la pena eseguire regedit per assicurarsi che anche le vecchie voci di registro vengano eliminate dalla disinstallazione. In caso contrario, eliminali.

  2. Va bene usare il nuovo programma di installazione .msi (solo file essenziali), tuttavia ...

  3. Non utilizzare il percorso di installazione predefinito! Un genio ha tracciato un percorso con degli spazi! Scegli l'installazione personalizzata e seleziona un percorso ragionevole, ad esempio C: \ mysql (nota di Adrien: C: \ mysqldata per ... i dati)

  4. Non scegliere di modificare le impostazioni di sicurezza. Deseleziona la casella pertinente e l'installazione verrà completata senza dover impostare una password di root.

Penso di aver ricordato tutto.

In bocca al lupo

Gary

Ho avuto problemi quando ho semplicemente copiato / incollato i database che avevo nella mia precedente directory "data" in quella nuova. Quindi il lavoro che ho trovato è stato esportare ogni database (lo so ... molto divertente) e poi reimportarli uno per uno.

FYI: ho usato il seguente comando per importare C:/<MySQLInstallDir>/My SQL Server x.x/bin/mysql -u root -p <dbName> < "<dirPathOfDump>\<dumpName>.sql", che è per esempioC:/mysql/MySQL Server 5.6/bin/mysql -u root -p mySupaCoolDb < "C:\mySupaCoolDbDump20130901.sql"


0

Mi trovavo in situazioni simili prima e l'ultima volta ho scoperto che si trattava di un problema di aggiornamento di Windows (non sono sicuro). Questa volta, ho aperto MySQL workbench e non ho trovato alcuna connessione al mio database locale. Non riesco a vedere le mie tabelle, ma ieri sono riuscito a collegarmi al database.

Ho scoperto che la mia causa è che, dopo aver lasciato il mio computer inattivo per un po 'di tempo e averlo riattivato, il servizio mysql non è in esecuzione. La mia soluzione: riavvia il servizio denominato "mysql" e riesegui il workbench. Il riavvio del servizio richiede un po 'di tempo, ma funziona.


0

Il mio problema era che il server MySQL non era effettivamente installato. Avevo eseguito il programma di installazione MySQL, ma non ha installato il server MySQL.

Riesco il programma di installazione, faccio clic su "Aggiungi" e quindi ho aggiunto il server MySQL all'elenco. Adesso funziona bene.


0

Il problema è che il server MYSQL non è installato. Puoi ottenere il programma di installazione da qui

Quindi guarda questo tutorial di installazione di 6 minuti .

Se la creazione di una nuova connessione in MYSQL Workbench non funziona, assicurati di eseguire quella connessione come root come mostrato di seguito:

inserisci qui la descrizione dell'immagine

Se non trovi il tuo file .ini controlla questa risposta.

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.