Veritabanı sunucusuna (mysql workbench) bağlanılamıyor


89

Bu sorunu çözmeme yardım eder misin?

Mysql çalışma tezgahında veritabanı menüsü altında "sorgu veritabanı" na tıkladığımda. bana bir hata veriyor:

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
Bu cevap benim için çalıştı. stackoverflow.com/questions/16129399/…
mcaleaa

Benim durumumda basit yeniden başlatma yardımı - ancak öncelikle @sergio önerisini kontrol ediyorum - stackoverflow.com/a/7875732/6705161 .
dannydedog

Yanıtlar:


105

Sorun büyük olasılıkla, ubuntu 16.04'e yükseltme sırasında hiçbir parola ayarlanmadığında kök kullanıcı için varsayılan olarak soket kimlik doğrulamasının etkinleştirilmesinden kaynaklanmaktadır.

Çözüm, yerel parola kimlik doğrulamasına geri dönmektir. Bunu, soket kimlik doğrulamasını kullanarak MySQL'de oturum açarak yapabilirsiniz:

sudo mysql -u root

Giriş yaptıktan sonra:

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

yerel (eski varsayılan) parola kimlik doğrulamasına geri dönecektir.

Şimdi MySQL tarafından gerektiğinde parola olarak parola kullanın .


3
Benim için çalıştı, şaşırdım, mysql'yi kurarken katı şifreyi ve verilen alter sorgusu ile kullanılan aynı katı şifreyi zaten yapılandırdım. İlk denemede neden işe yaramadığını merak ediyorum
Vipul Patil

Çok teşekkürler! Bu davranış, yalnızca unix root kullanıcısının mysql'de parola girmeden oturum açması yararına mı yaratılmıştır?
Igor de Lorenzi

1
Harika çözüm. Sağ ol, kanka!
Valney Faria

57

Açılış deneyin services.mscbaşlangıç menüsü arama kutusundan ve MySQL hizmetini başlangıç elle deneyin ya doğrudan yazar services.msc içinde Runkutunun


1
Benim için çalışmadı. doğrudan ´C: \ Program Files \ MySQL \ MySQL Server 5.6 \ bin \ mysqld.exe --console´ komut satırından çalıştırmak ("mysql" ve ".exe" arasındaki "d" nin işe yaradığına dikkat edin ( "yönetici olarak" komut satırı). Bu yüzden hizmeti "yönetici olarak" başlatmanın bir yolunu bulmanın bu sorunu çözeceğini düşünüyorum.
Adrien Be

5
Başlat menüsü arama kutusu nerede?
Everyone_Else

Çözümüm, sudo: ile Mysql-Workbench çalıştırıldı sudo mysql-workbench . Services.msc'yi nerede bulacağımı bilmiyordum
Luigi Lopez

33

Görünüşe göre bu hatanın birçok nedeni var.

Nedenim / Çözüm

Benim durumumda, neden sunucumun yalnızca localhost'tan bağlantıları kabul edecek şekilde yapılandırılmış olmasıydı. Şu makaleyi izleyerek sorunu çözdüm: MySQL Veritabanı Sunucusuna Uzaktan Erişimi Nasıl Etkinleştirebilirim? . Dosyamda satır my.cnfyoktu skip-networking, bu yüzden sadece satırı değiştirdim

bind-address = 127.0.0.1

-e

bind-address = 0.0.0.0

Bu, sadece 127.0.0.1 değil, herhangi bir IP'den bağlantıya izin verir.

Ardından, istemci makinemden aşağıdaki terminal komutlarını çalıştırarak bağlanabilen bir MySql kullanıcısı oluşturdum:

# 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

1.2.3.4Bağlanmaya çalıştığınız istemcinin IP'si nerede . Gerçekten sorun yaşıyorsanız , kullanıcının herhangi bir IP'den bağlanmasına izin vermek '%'yerine kullanabilirsiniz '1.2.3.4'.

Diğer Nedenler

Oldukça kapsamlı bir liste için bkz . Erişim Reddedilen Hataların Nedenleri .


AFAIK, kullanıcının oluşturulması gereklidir, çünkü kullanıcı kökü yalnızca yönetici çalışması için kullanılmalıdır ve makul bir şekilde localhost ile sınırlandırılmalıdır. bunun ötesinde hangi kullanıcıyı yaratacağınız size kalmış!
user3791372

Erişim Engellenen Hataların Nedenlerine İlişkin Bağlantı artık kesildi.
Matt Coubrough

21

Bunun Workbench ile ilgili bir sorun mu yoksa genel bir bağlantı sorunu mu olduğunu belirlemeye çalıştınız mı? Bunu dene:

  1. Bir terminal açın
  2. Tür mysql -u root -p -h 127.0.0.1 -P 3306
  3. Başarılı bir şekilde bağlanabilirseniz, parolanızı yazdıktan sonra bir mysql istemi göreceksiniz ( quitçıkmak için yazın ve oraya girin).

Bunun nasıl çalıştığını bize bildirin.


Merhaba, "mysql dahili veya harici bir komut, çalıştırılabilir program veya toplu iş dosyası olarak tanınmıyor" diyor. Çok teşekkür ederim.
user948950

1
Mysql bin dizinini ( binana MySQL dizini içindeki dizin) sistem yoluna eklemek isteyebilirsiniz . Daha sonra mysql istemci programı her yerden erişilebilir olacaktır. Ya da bu komutu MySQL bin dizinine cd yazdıktan sonra çalıştırabilirsiniz. İkisi de çalışmalı.
Sergio

2
Bu komutla mysql'e bağlanırken $> mysql -u root -p -h 127.0.0.1 -P 3306 Şifre girin: HATA 1045 (28000): 'root' @ 'localhost' kullanıcısı için erişim reddedildi (şifre kullanarak: NO) [root @ localhost ~] # mysql -u root -p -h 127.0.0.1 -P 3306 Şifre girin: ERROR 1045 (28000): 'root' @ 'localhost' kullanıcısı için erişim reddedildi (şifre kullanılarak: EVET) [root @ localhost ~] # mysql -u admin -p -h 127.0.0.1 -P 3306 Şifre girin: ERROR 1045 (28000): 'admin' @ 'localhost' kullanıcısı için erişim reddedildi (şifre kullanılarak: YES) [root @ localhost ~] #
Sumit Munot

Benim için çalıştı !! Çok teşekkürler!
igor

15

Mac OS'de de benzer bir sorun yaşadım ve şu şekilde düzeltebildim:

Terminalden şunu çalıştırın:

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

Ardından şifreyi girmem istendi. Şifre ayarlanmadığı için sadece enter tuşuna bastım.

Aşağıdaki gibi bir mesaj aldım:

MySQL monitörüne hoş geldiniz. Komutlar; veya \ g. MySQL bağlantı kimliğiniz 181. Sunucu sürümü: 8.0.11 Homebrew.

Mysql> 'da oturum açmayı başardıysanız, aşağıdaki komutu çalıştırın:

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

Bunun gibi bir mesaj almalısın:

Sorgu tamam, 0 satır etkilendi (0,19 sn)

Şimdi, şifreniz " şifre " ve kullanıcı adınız " root ".

Mutlu kodlamalar :)


Anonim oturumlar devre dışı bırakıldığından, bu muhtemelen yeni kurulumlarda çalışmayacaktır.
en_lorithai


7

Workbench'i Yönetici olarak başlatmak zorunda kaldım. Görünüşe göre localhost veritabanı sunucusu sürecime bağlanmak için gerekli izinlere sahip değildi.

Workbench kısayoluna sağ tıklayın ve seçin Run as Administrator. Kısayolun Özellikler penceresinde, Workbench'i Yönetici ayrıcalıklarıyla her zaman çalıştırmak için "Gelişmiş" seçeneğine tıklayabilir ve "Yönetici Olarak Çalıştır" seçeneğinin yanındaki kutuyu işaretleyebilirsiniz.


5

Hata, mysql sunucusu bilgisayarınızda başlamadığından ortaya çıkar. Manuel olarak başlatmalısınız. Aşağıdaki adımları uygulayın:

  1. Bilgisayarınızdaki bit sürümünüze (32bit veya 64bit) göre wamp sunucusunu indirin ve kurun ( http://wampserver-64bit.en.softonic.com/ ) bu bağlantı 64bit için wamp sunucusunu indirmenize izin verir.

  2. Yüklediğiniz anda çift tıklayıp çalıştırabilirsiniz .. (görev çubuğunun sağ tarafında bir simge görebilirsiniz. Gizlenmiş olabilir, böylece size çalışan uygulamaları gizlemeyi gösteren oka tıklayabilirsiniz). simgeye tıklayın ve Mysql'e gidin

  3. Sonra gidip Hizmet ve orada bulabilirsiniz Başlat / Devam Hizmetleri üzerine tıklayın ..

  4. Ve şimdi bitti. Mysql tezgahını açın ve görün, çalışacak ..


4

Bir süre bu problemle uğraştım ve bunu keşfetmeden önce MySQL'in birkaç kez yeniden yüklemesini yaptım.

MySQL sunucusunun düzgün çalıştığını biliyorum çünkü komut satırını kullanarak tüm veritabanıma erişebiliyordum.

Umarım bu sizin için çalışır.

Gelen MySQL tezgah (5.2.47 CE)

Sunucu Örneklerini Yönet'e tıklayın (sağ alt köşe)

Bağlantı'yı tıklayın

içinde Bağlantı kutusunda seçin:

Yerel Örnek ($ SunucuAdı) - root@127.0.0.1: 3306 '<' Standart (TCP / IP)>

Seçileni Düzenle'yi tıklayın ...

Parametreler altında , Hostname localhost'u veya 127.0.0.1'i NetBIOS adınıza değiştirin

Bağlantıyı Test Et'e tıklayın

Bu senin için çalışıyorsa, harika. Ana bilgisayar adını eski haline geri döndürmezseniz.


2
BU benim için çalıştı. NetBIOS adı bilgisayarın adıdır, sistem özelliklerinden, 'Bilgisayar adı' sekmesinden, 'tam bilgisayar adı'ndan okuyabilirsiniz.
NeonMan

3

Görüntülenen ilk hata mesajının aşağıdaki gibi olduğunu görmezden gelenler için:

Org.freedesktop.secrets adı hiçbir .service dosyası tarafından sağlanmadı

Aşağıdakileri kullanarak gnome-keyring'i kurduğunuzdan emin olun.

sudo apt install gnome-keyring

2

Bunun nedeni, MySQL Server 5.1'e bağlanmak için en yeni MySQL Workbench 8.x'i (her ikisi de Windows Server 2012'de çalışıyor) kullanmaya çalışmamdı.

MySQL Workbench 8.x'i kaldırıp MySQL Workbench 6.3.10'u kurduğumda, localhostveritabanına başarıyla bağlandı


1

Üst sürümler ve daha sonraki ziyaretçiler için güncel olmak için:

Şu anda, google android için bir ön koşul olarak python 2.7.4 dahil olmak üzere üzerinde farklı araçlara sahip bir win7 64bit üzerinde çalışıyorum ...

64bit performansa sahip olmak için WB 6.0.8-win32'den üst sürümlere yükselttiğimde bazı sorunlar yaşadım, örneğin 6.3.5-winx64'te tabloların ayrıntı görünümünde (bozuk görünüm) bir hata yaşadım (düzensiz görünüm) 6.2'ye düşürmeme neden oldu. 5-winx64.

Bir GUI kullanıcı olarak, kolay ileri / geri mühendislik ve db sunucu göreli öğeleri iyi çalışıyorlardı ama biz çalışırken Database>Connect to Databasebiz sahip olacak Not connectedve biz ancak DB sunucu hizmeti kesinlikle koştu bir sorguyu çalıştırmayı ve iyi çalıştığını piton hata olacaktır ve bu problem sunucudan değil, tezgahtan kaynaklanmaktadır. Bunu çözmek Query>Reconnect to Serveriçin DB bağlantısını açıkça seçmeliyiz ve hemen hemen her şey iyi görünüyor (bu, çoklu db bağlantılarımdan kaynaklanıyor olabilir ve çalışma tezgahında varsayılan db bağlantısını tanımlamak için bir çözüm bulamadım).

Not olarak: en son Xampp sürümünü kullandığım için (bağımlılıkla linux'ta bile :)), son zamanlarda Xampp mysql 5.x yerine mariadb 10 kullanıyor mysql dosya sürümünün 10 olmasına neden oluyor yordamların ileri mühendislik gibi bazı sorunlara neden olabilir Bu yolla çözülebilir, mysql_upgrade.exeancak yine de bir db bağlantısını kontrol etmeye çalıştığımızda wb yanlış sürüm hakkında bilgi verecektir, ancak kritik değildir ve iyi çalışır.

Sonuç: Bu nedenle bazen çalışma tezgahındaki db bağlantı sorunları sunucudan değil kendisinden kaynaklanıyor olabilir (eğer başka db bağlantısı ile ilgili sorunlarınız yoksa).


1

Benim durumumda MySQL Workbench'i yeni kurdum, ancak MySQL Workbench'i kaldırdıktan ve MySQL yükleyiciyi yükledikten sonra ve hem 32 hem de 64 bit için aynı, sonra bir cazibe gibi çalıştıktan sonra. Umarım yararlı olabilir.


0

Ben de bir süre bu sorunla mücadele ettim.

MySQL forumundan bu ilginç konu başlığına geldim : http://forums.mysql.com/read.php?11,11388,11388#msg-11388

Ayrıca (belli ki) iyi bir SO Q / A ile karşılaştım.

Görünüşe göre "user948950" sorusunda bahsedilen mesaj çok çeşitli nedenlerden kaynaklanıyor olabilir: günlük dosyası çok büyük, yanlış mysql.ini dosyası değerleri, dosya yolunda boşluklar, güvenlik / acl sorunu, içindeki eski girişler kayıt defteri vb.

Bu yüzden, bunu düzeltmek için 3 saat denedikten sonra ... Terk ettim ve eski güzel bir yeniden kurulum yapmaya karar verdim.

Bu nerede MySQL dizisindeki bu yazının (tekrar) yararlı burası , alıntı yapıyorum:

Gary Williams şunu yazdı: Merhaba Arkadaşlar,

Tam olarak aynı sorunu yaşadım ve çalışmayan bir kurulumdan başlayarak benim için çalışmasını bu şekilde sağladım.

  1. Mevcut herhangi bir mysql kurulumu için Windows hizmetini durdurun.

  2. Mysql'i kaldırın.

Çoğu kaldırma işleminde olduğu gibi, eski dosyalar geride kalır. Dizininiz C: \ mysql \ etc ise, innob, vb. Dosyaları silin, ancak dizinleri ve mevcut veritabanlarını 'data'da bırakın. Dizininiz C: \ Program Files \ etc ise, tüm mysql dizinlerini silin.

  1. Artık eski kayıt defteri girişlerinin de kaldırma tarafından silindiğinden emin olmak için regedit'i çalıştırmaya değer. Değilse, silin.

  2. Yeni .msi yükleyicisini kullanmakta bir sorun yoktur (yalnızca temel dosyalar), ancak ....

  3. Varsayılan yükleme yolunu kullanmayın! Bazı dahiler, içinde boşluklar olan bir yol belirler! Özel yüklemeyi seçin ve mantıklı bir yol seçin, yani C: \ mysql (Adrien'den not: veriler için C: \ mysqldata)

  4. Güvenlik ayarlarını değiştirmeyi seçmeyin. İlgili kutunun işaretini kaldırın ve kurulum, bir kök şifre belirlemenize gerek kalmadan tamamlanacaktır.

Sanırım her şeyi hatırladım.

İyi şanslar

Gary

Önceki "data" dizinimde bulunan veritabanlarını yenisine kopyalayıp / yapıştırırken sorun yaşadım. Bu yüzden bulduğum çalışma, her bir veritabanını dışa aktarmak (biliyorum ... çok eğlenceli) ve ardından bunları birer birer yeniden içe aktarmaktı.

Bilginize: İçe aktarmak için aşağıdaki komutu kullandım, C:/<MySQLInstallDir>/My SQL Server x.x/bin/mysql -u root -p <dbName> < "<dirPathOfDump>\<dumpName>.sql"örneğinC:/mysql/MySQL Server 5.6/bin/mysql -u root -p mySupaCoolDb < "C:\mySupaCoolDbDump20130901.sql"


0

Daha önce benzer durumdaydım ve en son bulduğumda bazı Windows güncelleme sorunu (emin değilim). Bu sefer MySQL çalışma tezgahını açtım ve yerel veritabanıma bağlantı bulamadım. Tablolarımı göremiyorum ama dün veritabanına bağlanabildim.

Nedenimin, bilgisayarımın bir süre uyumasına izin verdikten ve tekrar uyandırdıktan sonra mysql hizmetinin çalışmaması olduğunu öğrendim. Çözümüm: "mysql" adlı hizmeti yeniden başlatın ve tezgahı yeniden çalıştırın. Hizmetin yeniden başlatılması biraz zaman alıyor ama işe yarıyor.


0

Benim sorunum, MySQL sunucusunun gerçekte kurulu olmamasıydı. MySQL Yükleyiciyi çalıştırdım, ancak MySQL sunucusunu kurmadı.

Yükleyiciyi yeniden çalıştırıyorum, "Ekle" ye tıkladım ve ardından MySQL sunucusunu listeye ekledim. Şimdi iyi çalışıyor.


0

Sorun, MYSQL sunucusunun kurulu olmamasıdır. Yükleyiciyi buradan edinebilirsiniz

Ardından bu 6 dakikalık kurulum eğitimini izleyin .

MYSQL Workbench'te yeni bir bağlantı oluşturmak çalışmıyorsa, bu bağlantıyı aşağıda gösterildiği gibi root olarak çalıştırdığınızdan emin olun:

görüntü açıklamasını buraya girin

.İni dosyanızı bulamazsanız, bu yanıtı kontrol edin .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.