Не удалось подключиться к Sequel Pro и MySQL - PullRequest
0 голосов
/ 04 июля 2018

Я только что установил MySQL на Mac из Homebrew

brew install mysql

mysql -V

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

из терминала это работает, и я могу войти в MySQL, но из Sequel Pro он говорит

enter image description here

Невозможно подключиться к хосту 127.0.0.1 или истекло время ожидания запроса.

Убедитесь, что адрес правильный и у вас есть необходимые привилегий, или попробуйте увеличить время ожидания соединения (в настоящее время 10 секунд).

MySQL сказал: плагин аутентификации caching_sha2_password не может быть загружен: dlopen (/usr/local/lib/plugin/caching_sha2_password.so, 2): изображение не найдено

не могу понять, чего мне не хватает

Ответы [ 4 ]

0 голосов
/ 01 июня 2019

TL; DR: Sequel Pro не работает с 2016 года. Не понижайте вашу БД из-за инструмента. Переходите к альтернативному инструменту.


Все остальные решения здесь рекомендуют изменить настройки вашей БД (делая ее менее защищенной, как рекламируется MySQL) для используемого вами инструмента. Это не приемлемо для меня.

Я всегда был большим поклонником Sequel Pro, даже пожертвовал ему. Но, со всей моей страстью и любовью, мне жаль, если у этого инструмента нет релиза с 2016 года . Йоло, и мне нужно идти дальше!

Альтернатива, которую я нашел (из 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 .

0 голосов
/ 19 декабря 2018

Если вы подключаетесь к MySQL через root@127.0.0.1, убедитесь, что вы также сбросили его пароль!

ALTER USER 'root'@'127.0.0.1' ИДЕНТИФИЦИРОВАНО С mysql_native_password BY '[пароль]';

0 голосов
/ 17 января 2019
  1. Предполагая, что у вас нет конфигурации mysql , введите следующее: ~/.my.conf:
[mysqld]
default-authentication-plugin=mysql_native_password
  1. Войти в mysql с mysql -u root -p
  2. Установите пароль пользователя root с помощью ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '[PASSWORD]';, где [PASSWORD] - пароль по вашему выбору.
  3. Перезапустите mysql , например, с помощью. brew services restart mysql
0 голосов
/ 05 июля 2018

Это связано с тем, что Sequel Pro еще не готов к новому виду входа в систему, поскольку в сообщении об ошибке указано, что драйвера нет. Быстрое исправление для установок, не относящихся к домашнему пиву:

Apple Logo > System Preferences > MySQL > Initialize Database, затем введите новый пароль и выберите «Использовать старый пароль»

После перезагрузки вы сможете подключиться. Делайте это только при новой установке, иначе вы можете потерять свои таблицы БД.

mysql + homebrew

В основном вам придется выполнять некоторые действия вручную, однако данные вашей базы данных не будут удалены, как в решении выше

  • Перейдите к файлу my.cnf и в разделе [mysqld] добавьте строку:

    default-authentication-plugin=mysql_native_password

  • Войдите на сервер MySQL из терминала: запустите mysql -u root -p, затем внутри оболочки выполните эту команду (заменив [пароль] вашим действительным паролем):

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

  • выйти из оболочки mysql с помощью exit и запустить brew services restart mysql.

Должно работать.


my.cnf

Подробнее о файле my.cnf: Для доморощенных установок mysql, где my.cnf?

...