Solución:
Esto se debe a que Sequel Pro aún no está listo para un nuevo tipo de inicio de sesión de usuario, ya que el error indica: no hay controlador.
mysql + homebrew
Básicamente, tendrá que realizar algunas acciones manualmente, sin embargo, los datos de su base de datos no se eliminarán como en la solución a continuación
-
Vaya al archivo my.cnf y en la sección
[mysqld]
añadir línea:default-authentication-plugin=mysql_native_password
-
Inicie sesión en el servidor mysql desde la terminal: ejecutar
mysql -u root -p
, luego dentro del shell ejecute este comando (reemplazando [password] con su contraseña real):ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '[password]';
-
salir del shell mysql con
exit
y correrbrew services restart mysql
.
Deberia trabajar.
Solución rápida (método destructivo)
Solución rápida para instalaciones que no sean caseras:
Apple Logo > System Preferences > MySQL > Initialize Database
, luego escriba su nueva contraseña y seleccione ‘Usar contraseña heredada’
Después de reiniciar, debería poder conectarse. Hágalo solo en instalaciones nuevas, porque de lo contrario puede perder sus tablas de base de datos.
my.cnf
El archivo my.cnf se encuentra en /etc/my.cnf en Unix / Linux
Alternativas
Para aquellos que todavía están luchando con problemas de Sequel Pro: Sequel Pro fue un gran producto, pero con toneladas de problemas sin resolver y la última versión fechada en 2016, tal vez sea una buena idea buscar algunas alternativas. Hay una bifurcación de SequelPro llamada SequelAce que parece ser bastante estable y actualizada, mantiene una funcionalidad similar, un aspecto y una sensación similares, pero al mismo tiempo carece de problemas antiguos de Sequel Pro.
TL; DR: Sequel Pro está muerto desde 2016. No degrades tu base de datos debido a una herramienta. Pase a una herramienta alternativa.
Actualización 2020: ¡Sequel Pro está oficialmente muerta pero extraoficialmente viva! Puedes encontrar el “nocturno“compilaciones que no tienen este problema (es decir, admiten la autenticación de Mysql 8) aquí: https://sequelpro.com/test-builds
Todas las otras soluciones aquí recomiendan cambiar la configuración de su base de datos (haciéndola menos segura, como lo anuncia MySQL) para la herramienta que está utilizando. Eso no es aceptable para mí.
Siempre he sido un gran admirador de Sequel Pro, incluso he donado. Pero, con toda mi pasión y amor, lo siento si la herramienta no tiene ningún lanzamiento desde 2016. ¡YOLO, y tengo que seguir adelante!
La alternativa que encontré (de https://stackoverflow.com/a/55235533/2321594, gracias a @arcseldon) es DBeaver, que admite el nuevo método de autenticación (no heredado) de MySQL 8.
PD. El único truco en el lado de la herramienta, no en el lado DB es cuando está creando una conexión MySQL 8, es posible que deba ir a “Propiedades del controlador” (más adelante se puede encontrar en Editar conexión) y cambiar el valor de allowPublicKeyRetrieval
para true
.
Necesitaba esto para conectarme a mi contenedor MySQL creado con Docker. Para que la IP de MySQL sea visible desde el exterior, para cualquier otra aplicación en su ecosistema (no solo esta herramienta), debe crear un nuevo usuario en MySQL o pasar -e MYSQL_ROOT_HOST=%
en tiempo de ejecución o como ENV.
- Asumiendo que no tienes un mysql configuración, repita lo siguiente para
~/.my.conf
[mysqld]
default-authentication-plugin=mysql_native_password
- Registrarse en mysql con
mysql -u root -p
- Establezca la contraseña del usuario root con
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '[PASSWORD]';
dónde[PASSWORD]
es una contraseña de su elección. - Reiniciar mysql con, por ejemplo
brew services restart mysql