Я только что установил mysql на Mac из Homebrew
brew install mysql
mysql -V
mysql Ver 8.0.11 for osx10.13 on x86_64 (Homebrew)
с терминала он работает, и я могу войти в mysql, но из Sequel Pro он говорит
Невозможно подключиться к хосту 127.0.0.1, или истекло время ожидания запроса.
Убедитесь, что адрес правильный и у вас есть необходимые привилегии, или попробуйте увеличить время ожидания соединения (в настоящее время 10 секунд).
MySQL сказал: плагин аутентификации 'caching_sha2_password' не может быть загружен: dlopen (/usr/local/lib/plugin/caching_sha2_password.so, 2): изображение не найдено
не могу понять, что мне не хватает
источник
my.cnf
файл на моем компьютере (macOS High Sierra 10.13.5)brew install mysql
использовании/usr/local/etc/my.cnf
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '';
- это сработало для меняTL; DR: Sequel Pro мертв с 2016 года. Не понижайте версию своей БД из-за инструмента. Перейдите к альтернативному инструменту.
Обновление 2020: Sequel Pro официально мертв, но неофициально жив! Вы можете найти « ночные » сборки, у которых нет этой проблемы (т.е. с поддержкой аутентификации Mysql 8) здесь: https://sequelpro.com/test-builds
Все остальные решения здесь рекомендуют изменить настройки вашей БД (сделав ее менее безопасной, как рекламируется MySQL) для используемого вами инструмента. Для меня это неприемлемо.
Я всегда был большим поклонником Sequel Pro, даже пожертвовал ему. Но, при всей моей страсти и любви, мне очень жаль, если этот инструмент не выпускается с 2016 года . YOLO, а мне нужно двигаться дальше!
Альтернатива, которую я нашел (из https://stackoverflow.com/a/55235533/2321594 , благодаря @arcseldon), - это DBeaver, который поддерживает новый метод аутентификации MySQL 8 (не устаревший).
PS. Единственный трюк на стороне инструмента, а не на стороне БД, заключается в том, что при создании соединения MySQL 8 вам может потребоваться перейти в «Свойства драйвера» (позже его можно найти в Редактировать соединение) и установить значение
allowPublicKeyRetrieval
наtrue
.Мне это нужно, чтобы подключиться к моему контейнеру MySQL, созданному с помощью Docker. Чтобы IP MySQL был виден извне для любого другого приложения в вашей экосистеме (не только для этого инструмента), вы должны либо создать нового пользователя в MySQL, либо передать его
-e MYSQL_ROOT_HOST=%
во время выполнения или как ENV.источник
~/.my.conf
mysql -u root -p
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '[PASSWORD]';
где[PASSWORD]
- пароль по вашему выбору.brew services restart mysql
источник
Sequel Pro официально мертв и больше не поддерживает новые функции MySql. Однако хорошей новостью является то, что он был заменен на Sequel Ace, доступный на GitHub и в магазине приложений . Приложение бесплатное и выглядит как официальная замена Sequel Pro, так как сообщение было сделано одним из сотрудников Sequel Pro .
Пс. Я решил опубликовать это как ответ, поскольку другие не упомянули, что теперь есть современная замена для Sequel Pro.
источник
Если вы подключаетесь к MySQL через root@127.0.0.1, не забудьте сбросить и его пароль!
ALTER USER 'root'@'127.0.0.1' ИДЕНТИФИЦИРОВАН mysql_native_password BY '[пароль]';
источник
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.
Если кто сталкивался с этой проблемой и устанавливал
MySQL version >8
через.dmg
скачивание по официальной ссылке. В таком случае воспользуйтесь этим руководством .источник
У меня это работает. если вы получаете эту ошибку:
Пожалуйста, попробуйте это решение
источник