Dzieje się tak, ponieważ Sequel Pro nie jest jeszcze gotowy na nowy rodzaj logowania użytkownika, ponieważ błąd stwierdza: nie ma sterownika.
mysql + homebrew
Zasadniczo będziesz musiał wykonać kilka czynności ręcznie, jednak - dane z bazy danych nie zostaną usunięte, jak w rozwiązaniu poniżej
Przejdź do pliku my.cnf iw sekcji [mysqld]
dodaj wiersz:
default-authentication-plugin=mysql_native_password
Zaloguj się do serwera mysql z terminala: uruchom mysql -u root -p
, a następnie w powłoce wykonaj to polecenie (zastępując [hasło] swoim rzeczywistym hasłem):
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '[password]';
wyjdź z powłoki mysql za pomocą exit
i uruchom brew services restart mysql
.
Powinno działać.
Szybka naprawa (metoda niszcząca)
Szybka poprawka dla instalacji innych niż homebrew:
Apple Logo > System Preferences > MySQL > Initialize Database
, a następnie wpisz nowe hasło i wybierz opcję „Użyj starszego hasła”
Po ponownym uruchomieniu powinno być możliwe połączenie. Rób to tylko przy nowych instalacjach, ponieważ w przeciwnym razie możesz utracić tabele db.
my.cnf
Plik my.cnf znajduje się w /etc/my.cnf w systemie Unix / Linux
Alternatywy
Dla tych, którzy wciąż borykają się z problemami Sequel Pro: Sequel Pro był świetnym produktem, ale z mnóstwem nierozwiązanych problemów i ostatnią wersją datowaną na 2016 rok, być może dobrym pomysłem jest poszukanie alternatyw. Jest widelec SequelPro o nazwie SequelAce, który wydaje się być dość stabilny i aktualny, zachowuje podobną funkcjonalność, podobny wygląd i styl, ale jednocześnie jest pozbawiony starych problemów z Sequel Pro
my.cnf
pliku na moim komputerze (macOS High Sierra 10.13.5)brew install mysql
użyciu/usr/local/etc/my.cnf
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '';
- to działało dla mnieTL; DR: Sequel Pro nie żyje od 2016 roku. Nie obniżaj swojej bazy danych z powodu narzędzia. Przejdź do alternatywnego narzędzia.
Aktualizacja 2020: Sequel Pro oficjalnie nie żyje, ale nieoficjalnie żyje! Możesz znaleźć " nocne " kompilacje, które nie mają tego problemu (tj. Obsługują uwierzytelnianie Mysql 8) tutaj: https://sequelpro.com/test-builds
Wszystkie inne rozwiązania tutaj zalecają zmianę ustawień bazy danych (czyniąc ją mniej bezpieczną, jak reklamuje MySQL) dla używanego narzędzia. To jest dla mnie nie do przyjęcia.
Zawsze byłem wielkim fanem Sequel Pro, nawet przekazałem mu darowiznę. Ale z całą moją pasją i miłością przepraszam, jeśli narzędzie nie ma żadnej wersji od 2016 roku . YOLO, muszę iść dalej!
Alternatywą, którą znalazłem (z https://stackoverflow.com/a/55235533/2321594 , dzięki @arcseldon) jest DBeaver, który obsługuje nową metodę uwierzytelniania MySQL 8 (nie starszą ).
PS. Jedyna sztuczka po stronie narzędzia, a nie DB, polega na tym, że podczas tworzenia połączenia MySQL 8 może być konieczne przejście do "Właściwości sterownika" (później można je znaleźć w Edytuj połączenie) i ustawić wartość
allowPublicKeyRetrieval
natrue
.Potrzebowałem tego, aby połączyć się z moim kontenerem MySQL utworzonym za pomocą Dockera. Aby adres IP MySQL był widoczny na zewnątrz, dla dowolnej innej aplikacji w Twoim ekosystemie (nie tylko tego narzędzia), powinieneś albo utworzyć nowego użytkownika w MySQL, albo przekazać
-e MYSQL_ROOT_HOST=%
w czasie wykonywania lub jako ENV.źródło
~/.my.conf
mysql -u root -p
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '[PASSWORD]';
gdzie[PASSWORD]
jest wybrane hasło.brew services restart mysql
źródło
Sequel Pro oficjalnie nie żyje i nie obsługuje już nowszych funkcji MySql. Jednak dobrą wiadomością jest to, że został zastąpiony przez Sequel Ace, który jest dostępny na GitHub i App Store . Aplikacja jest bezpłatna i wygląda jak oficjalny zamiennik Sequel Pro, ponieważ post został napisany przez jednego ze współpracowników Sequel Pro .
Ps. Postanowiłem opublikować to jako odpowiedź, ponieważ inni nie wspominali, że jest teraz aktualny zamiennik dla Sequel Pro
źródło
Jeśli łączysz się z MySQL przez [email protected], upewnij się, że zresetowałeś również jego hasło!
ALTER USER 'root'@'127.0.0.1' IDENTIFIED WITH mysql_native_password BY '[hasło]';
źródło
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.
Jeśli ktoś napotka ten problem i zainstaluje go
MySQL version >8
do.dmg
pobrania z oficjalnego linku. W takim przypadku skorzystaj z tej wskazówki .źródło
To działa na mnie. jeśli otrzymujesz ten błąd:
Plz spróbuj tego rozwiązania
źródło