Sequel Pro ve MySQL bağlantısı başarısız oldu


95

Homebrew'den Mac'e mysql kurdum

brew install mysql

mysql -V

mysql  Ver 8.0.11 for osx10.13 on x86_64 (Homebrew)

terminalden çalışıyor ve mysql'e giriş yapabilirim ancak Sequel Pro'dan diyor

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

127.0.0.1 ana bilgisayarına bağlanılamıyor veya istek zaman aşımına uğradı.

Adresin doğru olduğundan ve gerekli ayrıcalıklara sahip olduğunuzdan emin olun veya bağlantı zaman aşımını artırmayı deneyin (şu anda 10 saniye).

MySQL şunu söyledi: Kimlik doğrulama eklentisi 'caching_sha2_password' yüklenemiyor: dlopen (/usr/local/lib/plugin/caching_sha2_password.so, 2): görüntü bulunamadı

neyi kaçırdığımı çözemiyorum

Yanıtlar:


183

Bunun nedeni, Sequel Pro'nun, hatanın belirttiği gibi, yeni bir tür kullanıcı girişi için henüz hazır olmamasıdır: sürücü yok. Homebrew dışı kurulumlar için hızlı düzeltme:

Apple Logo > System Preferences > MySQL > Initialize Database, ardından yeni şifrenizi yazın ve 'Eski şifreyi kullan'ı seçin

Yeniden başlattıktan sonra bağlanabilmeniz gerekir. Bunu yalnızca yeni yüklemelerde yapın, aksi takdirde db tablolarınızı kaybedebilirsiniz.

mysql + homebrew

Temel olarak bazı işlemleri manuel olarak yapmanız gerekecek, ancak veri tabanı verileriniz yukarıdaki çözümde olduğu gibi silinmeyecek

  • [My.cnf] [1] dosyasına gidin ve bölümde [mysqld]satır ekleyin:

    default-authentication-plugin=mysql_native_password

  • Terminalden mysql sunucusuna giriş yapın: çalıştırın mysql -u root -p, ardından kabuk içinde bu komutu yürütün ( [şifre] yerine gerçek şifrenizle):

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

  • mysql kabuğundan çıkın exitve çalıştırın brew services restart mysql.

Çalışmalı.


my.cnf

My.cnf dosyası, Unix / Linux'ta /etc/my.cnf'de bulunur


14
MySQL'i Sistem Tercihlerinde bulamıyorum
Hattori Hanzō

2
açıkladığınız için teşekkürler, ancak my.cnfmakinemde dosyayı bulamıyorum (macOS High Sierra 10.13.5)
Hattori Hanzō

2
Böyle bir dosya yoksa, bir tane oluşturmanız gerekecek: lütfen şu konu
başlığına

14
Bu yeni bir büyük çalıştı brew install mysqlkullanarak/usr/local/etc/my.cnf
mintwhip

5
Şifre kullanmadım, bu yüzden kullandım ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '';- bu benim için çalıştı
Vincent Tang

33

TL; DR: Sequel Pro 2016'dan beri öldü. Bir araç yüzünden DB'nizi düşürmeyin. Alternatif bir araca geçin.

2020 Güncellemesi: Sequel Pro resmen öldü ama gayri resmi olarak yaşıyor! Bu soruna sahip olmayan " gecelik " yapıları (yani, Mysql 8 kimlik doğrulamasını destekleyin) burada bulabilirsiniz: https://sequelpro.com/test-builds


Buradaki diğer tüm çözümler, kullandığınız araç için DB ayarlarınızı değiştirmenizi (MySQL tarafından ilan edildiği gibi daha az güvenli hale getirerek) önermektedir. Bu benim için kabul edilemez.

Her zaman Sequel Pro'nun büyük bir hayranı oldum, hatta ona bağışta bulundum. Ancak tüm tutkum ve sevgimle, aracın 2016'dan beri herhangi bir sürümü yoksa özür dilerim . YOLO ve devam etmem gerekiyor!

Bulduğum alternatif ( https://stackoverflow.com/a/55235533/2321594 adresinden , @arcseldon sayesinde) MySQL 8'in yeni kimlik doğrulama (eski olmayan) yöntemini destekleyen DBeaver .

PS. Sadece hile aracı tarafında değil, DB tarafı size (daha sonra Düzen Connection bulunabilir) "Sürücü Özellikleri" gidip değerini açması gerekebilir MySQL 8 bağlantı oluştururken olduğunu allowPublicKeyRetrievaliçin true.

Docker kullanılarak oluşturulan MySQL kapsayıcıma bağlanmak için buna ihtiyacım vardı. MySQL IP'sinin dışarıdan görülebilmesi için, ekosisteminizdeki diğer herhangi bir uygulama için (sadece bu araç değil), ya MySQL'de yeni bir kullanıcı oluşturmalı ya -e MYSQL_ROOT_HOST=%da çalışma zamanı ya da ENV olarak geçmelisiniz .


Sanırım @Aidin, sırf cevabım OP problemini çözmediği için bana olumsuz oy verdi. Bu sadece yerel bir gelişme ve yerel ortam - peki ne anlamı var? Aşina olduğum ve sadece sen söylediğiniz için çalışmayı sevdiğim bir yazılımdan gerçekten ayrılmak zorunda mıyım?
Maciej Kwas

5
Lütfen kişisel olarak almayın @MaciejKwas. Burada daha fazla açıklama sunmamıza rağmen, takdir ediyorum, oyumun hala yanındayım. Üç ana neden şunlardır: 1) Dev / prod arasında farklı kurulumların sürdürülmesi, modern yazılım geliştirmede önerilmez. Aslında, 12factor.net/dev-prod-parity'nin X faktörüdür . 2) İnsanlar bu araçları ürünü kontrol etmek için de kullanabilir. Bir ssh tüneli / proxy oluşturabilir ve bir GUI aracı aracılığıyla prod DB'nize ulaşabilirsiniz. Bu gibi durumlarda, DB kimlik doğrulamasını düşürmek bir seçenek değildir. 3) Değişime ve yükseltmeye uyum sağlamamak, kişisel olarak değer vermediğim bir şey.
Aidin

1
Birkaç yıldır yerel olarak çalışmadığım bir MySQL projesine geri dönüyorum, çünkü çok sağlam ve devam filmi profesyonelinin öldüğünü öğrendiğim için çok üzgünüm :(
Catfish

Ayrıca, seçim yapabileceğiniz birden fazla sürücü olduğundan DBeaver'da MySQL +8 sürücüsünü seçin. Sürücü özelliklerinde allowPublicKeyRetrieval'i true olarak ayarlayın ve kaydedin.
Peheje

18
  1. Bir mysql yapılandırmanız olmadığını varsayarak , aşağıdakileri yineleyin:~/.my.conf
[mysqld]
default-authentication-plugin=mysql_native_password
  1. Oturum açın mysql ilemysql -u root -p
  2. Root kullanıcı şifresini seçtiğiniz şifrenin ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '[PASSWORD]';nerede [PASSWORD]olduğunu belirleyin.
  3. Mysql'yi eg ile yeniden başlatınbrew services restart mysql

8

Sequel Pro resmi olarak öldü ve artık yeni MySql özelliklerini desteklemiyor. Ancak, iyi haber şu ki , GitHub ve App store'da bulunan Sequel Ace ile değiştirildi . Uygulama ücretsizdir ve gönderi Sequel Pro'nun işbirlikçilerinden biri tarafından yapıldığı için Sequel Pro'nun resmi yerine geçiyor gibi görünüyor .

Ps. Diğerleri artık Sequel Pro'nun güncel bir yedek olduğunu söylemediği için bunu bir cevap olarak göndermeye karar verdim


Haberler için teşekkürler, çok minnettarım.
Hattori Hanzō

En sonunda! Bir süredir bekliyordum.
Jonny

6

MySQL'e root@127.0.0.1 üzerinden bağlanırsanız, şifresini de sıfırladığınızdan emin olun!

ALTER USER 'root'@'127.0.0.1' mysql_native_password İLE '[password]' İLE TANIMLANMIŞTIR;


ERROR 3009 (HY000): Column count of mysql.user is wrong. Expected 50, found 49. Created with MySQL 80012, now running 80013. Please use mysql_upgrade to fix this error.
Chance Smith

bunu terminalde deneyin: mysql_upgrade --force -uroot -p
Xeno

mysql_upgrade artık kullanımdan kaldırıldı ve çalışmayacak, bunun yerine mysqld --upgrade = FORCE kullanın.
ilovecookiez11

1

Bu sorunla karşılaşan ve resmi bağlantıdan indirme MySQL version >8yoluyla yüklenen biri varsa .dmg. Bu durumda lütfen bu kılavuzu kullanın .


1
Eski tarz bir şifre kullanmak benim için çalıştı. Teşekkür ederim!
Richard Witherspoon

1

Benim için çalışıyor. bu hatayı alıyorsanız:

127.0.0.1 ana bilgisayarına bağlanılamıyor veya istek zaman aşımına uğradı.

Adresin doğru olduğundan ve gerekli ayrıcalıklara sahip olduğunuzdan emin olun veya bağlantı zaman aşımını artırmayı deneyin (şu anda 10 saniye).

MySQL şunu söyledi: 'caching_sha2_password' kimlik doğrulama eklentisi yüklenemiyor: dlopen (/usr/local/lib/plugin/caching_sha2_password.so, 2):

Plz bu çözümü dene

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


Büyüleyici gibi çalıştı.
Jimmy Adaro
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.