ver usuarios usuario recuperar por password entrar desinstalar defecto credenciales contraseñas contraseña como mysql macos osx-elcapitan sequelpro

usuarios - No se puede acceder a MySQL después de que genera automáticamente una contraseña temporal



usuario root mysql (15)

He borrado e instalado OSX 10.11 El Capitan y he seguido este tutorial para poner MySQL en funcionamiento en el nuevo OS X. El primer paso fue descargar MySQL para Mac OS X 10.9 (x86, 64 bits), DMG Archivo (funciona en 10.11, recomendaron en el tutorial). Mientras terminaba de instalar MySQL, recibí el mensaje que decía que:

2015-10-25T02:10:54.549219Z 1 [Note] A temporary password is generated for root@localhost: R>gFySuiu23U If you lose this password, please consult the section How to Reset the Root Password in the MySQL reference manual.

Eso fue extraño, nunca he visto ese tipo de mensaje. Después de eso, inicié MySQL a través del Panel de preferencias y luego /usr/local/mysql/bin/mysql -v en el terminal para otro paso. Recibí un mensaje de error que dice que:

ERROR 1045 (28000): Access denied for user ''cheetah''@''localhost'' (using password: NO)

También intenté acceder a la base de datos a través de Sequel Pro usando root como nombre de usuario y contraseña en blanco, recibí un mensaje de acceso denegado que decía:

Unable to connect to host 127.0.0.1 because access was denied. Double-check your username and password and ensure that access from your current location is permitted. MySQL said: Access denied for user ''root''@''localhost'' (using password: NO)

De acuerdo, también intenté esto nuevamente usando root como nombre de usuario pero ''R> gFySuiu23U'' como contraseña (que se generó desde MySQL). Recibí un mensaje de error de conexión que decía que:

Unable to connect to host 127.0.0.1, or the request timed out. Be sure that the address is correct and that you have the necessary privileges, or try increasing the connection timeout (currently 10 seconds). MySQL said: Your password has expired. To log in you must change it using a client that supports expired passwords.

¿Cómo podría resolver este problema? Recuerdo que MySQL nunca ha generado automáticamente una contraseña temporal como esta, ¿no?


La contraseña de MySQL expiró

Restablecer la contraseña resolverá el problema temporalmente, sin embargo, de MySQL 5.7.4 a 5.7.10 (creo que para fomentar una mejor seguridad) el valor predeterminado para la variable default_password_lifetime es 360 (aproximadamente un año). Para esas versiones, si no realiza cambios en esta variable (o en las cuentas de usuarios individuales), todas las contraseñas de los usuarios caducan después de 360 ​​días.

Por lo general, de una secuencia de comandos puede recibir el mensaje: "Su contraseña ha caducado. Para iniciar sesión debe cambiarla utilizando un cliente que admita contraseñas caducadas".

Por lo tanto, para evitar el vencimiento automático de la contraseña, inicie sesión como root ( mysql -u root -p ), luego, para los clientes que se conectan automáticamente al servidor (por ejemplo, scripts), cambie la configuración de vencimiento de la contraseña para esos clientes:

ALTER USER ''script''@''localhost'' PASSWORD EXPIRE NEVER;

o puede deshabilitar la caducidad automática de la contraseña para todos los usuarios :

SET GLOBAL default_password_lifetime = 0;

Enlaces:

MySQL: Caducidad de contraseña y modo Sandbox
MySQL: Política de caducidad de contraseña
Política de caducidad de contraseña en MySQL Server 5.7


Ahora que la contraseña que MySQL había generado ha caducado, el problema se reduce a hacer que esta contraseña vuelva a funcionar (1) o generar una nueva (2). Esto se puede lograr ejecutando MySQL con la opción skip-grant-tables que haría que ignorara los derechos de acceso:

  1. Detenga su servidor MySQL.

  2. Agregue el siguiente al final de la sección [mysqld] del archivo my.cnf y guárdelo.

    skip-grant-tables

  3. Inicie el servidor MySQL.

  4. En terminal, escriba

    mysql -u root -p

para entrar en el símbolo del sistema MySQL.

  1. En el símbolo del sistema, escriba

    USE mysql;

para entrar en la base de datos mysql donde mantiene a los usuarios de la base de datos.

  1. Tipo

    UPDATE user SET password_expired = ''N'' WHERE User = ''root'';

para que MySQL sepa que la contraseña no ha caducado (1) o

UPDATE user SET authentication_string = PASSWORD(''YourNewPassword''), password_expired = ''N'' WHERE User = ''root'';

asignar una nueva contraseña YourNewPassword a root (2).


Este en particular hizo el truco para mí:

Como se especifica en este enlace: https://www.variphy.com/kb/mac-os-x-reset-mysql-root-password

Haz todos los pasos excepto ejecutar

UPDATE mysql.user SET Password=PASSWORD(''NewPassword'') WHERE User=''root'';

Ejecutar

UPDATE mysql.user SET authentication_string = PASSWORD(''MyNewPass''), password_expired = ''N'' WHERE User = ''root'' AND Host = ''localhost'';

Y luego ejecute FLILH PRIVILEGES;


Esto es lo que funcionó para mí en OS X Yosemite con MySql v5.7 (instalado desde el .dmg).

cd /usr/local/mysql/bin ./mysql -u root -p --connect-expired-password

(Ingrese la contraseña temporal generada por el instalador).

Esto te lleva al modo sandbox y al mysql> prompt. Luego configure la contraseña de root deseada con SET PASSWORD :

SET PASSWORD FOR ''root''@''localhost'' = PASSWORD(''mySuperSecretPassword'');


Esto puede suceder cuando haya instalado mysql anteriormente. Pruebe la contraseña que estableció para la última versión de mysql. Esto funcionó para mí.


Estoy ejecutando macOS Sierra (10.12.3) e instalé mysql-5.7.17-macos10.12-x86_64.dmg.

La respuesta de @lesley funcionó para mí, con la excepción de que necesitaba agregar ./ para asegurarme de que estaba llamando al binario mysql en mi directorio de trabajo actual. Que es donde se instaló el paquete antes mencionado.

Si cd a /usr/local/mysql/bin y ejecuta mysql -u root -p --connect-expired-password , podría recibir el siguiente error.

mysql: unknown option ''--connect-expired-password''

Yo hice. Porque simplemente ejecutando mysql sin proporcionar una ruta, llamada una versión previamente instalada del cliente MariaDB.

Entonces, para asegurarse de que está ejecutando el binario correcto, puede

proporcionar el camino absoluto

/usr/local/mysql/bin/mysql -u root -p --connect-expired-password

o la ruta relativa después de cambiar los directorios

cd /usr/local/mysql/bin ./mysql -u root -p --connect-expired-password

Ambas formas deberían funcionar. Una vez que esté conectado con el cliente, las instrucciones son las mismas que las de @lesley.

Ingrese su contraseña temporal generada por el instalador y configure su nueva contraseña.

SET PASSWORD FOR ''root''@''localhost'' = PASSWORD(''yourNewPassword'');


Hacer estos pasos en OSX 10.11 El Capitan y MySQL 5.7.X, debería ser el truco.

Teniendo en cuenta que ya tienes instalado MySQL ...

Abra una ventana de terminal y escriba:

  1. sudo /usr/local/mysql/support-files/mysql.server stop
  2. sudo mysqld_safe --skip-grant-tables

Dado que el comando disparado en el paso 2 estará en estado de ejecución, debe abrir otra ventana de terminal y luego escribir:

  1. mysql -u root -p
  2. ACTUALIZAR mysql.user SET contraseña_expired = ''N'', autenticación_cadena = CONTRASEÑA ('''') DONDE Usuario = ''raíz'';
  3. dejar;
  4. sudo /usr/local/mysql/support-files/mysql.server restart

Importante : en el paso 2 debe reemplazar su contraseña.

Espero que te sirva.


Instalé view brew, y tuve el mismo mensaje de error hasta que noté esta advertencia:

Hemos instalado su base de datos MySQL sin una contraseña de root. Para asegurarlo, ejecute: mysql_secure_installation

Para conectar ejecute: mysql -uroot

Para iniciar, inicie mysql ahora y reinicie al iniciar sesión: brew services inicie mysql

O, si no desea / necesita un servicio en segundo plano, puede ejecutar: mysql.server start


Instalar MySQL manualmente descargando paquetes por primera vez genera una contraseña predeterminada para root. Copia y guarda eso. Si no se hace de alguna manera en las reinstalaciones sucesivas, no muestra esa contraseña.

Por lo tanto, no puede iniciar sesión en la raíz. Haz lo siguiente :

  1. Encuentre entradas relacionadas con mysql en system sudo find / -name mysql
  2. Elimine todas las entradas relacionadas con mysql haciendo rm -rf <mysql_entries_above>
  3. Descargue el último servidor mysql e instálelo.
  4. Se le solicitará una contraseña predeterminada que debe copiar.
  5. Ejecute mysql_secure_installation y pegue esa contraseña cuando se le mysql_secure_installation root.
  6. Posteriormente siga los pasos y cambie la contraseña de administrador cuando se le solicite.

La otra forma de resolver este problema es utilizar una versión anterior de MySQL.

Desinstalé MySQL version 5.7.9 para Mac OS X 10.9 (x86, 64 bits), DMG Archive y luego MySQL version 5.6.7 , MySQL version 5.6.7 para Mac OS X 10.9 (x86, 64 bits), DMG Archive . Este problema está resuelto. La contraseña autogenerada dada antes de finalizar la instalación de esta versión anterior se ha ido y finalmente puedo acceder a la base de datos usando root como nombre de usuario y una contraseña en blanco. ¡Todo funciona como un encanto!


La respuesta 7 funcionó para mí: El capitan , MySQL instalado desde dmg y contraseña autogenerada, pero se aseguró de cd a /usr/local/bin/mysql antes de ingresar ./mysql -root -p Obvio, pero no lo hice la primera vez .

Ahora para encontrar dónde están todas mis bases de datos y tablas y cómo vincularlas.


Me enfrenté al mismo problema. Seguí la guía del proceso de instalación de https://www.ntu.edu.sg/home/ehchua/programming/sql/MySQL_HowTo.html y descargué el archivo DMG e instalé MySQL en mi MAC OS X 10.12.2.

Finalmente ejecuté los siguientes comandos en la nueva Terminal.

cd /usr/local/mysql/bin ./mysql -u root -p --connect-expired-password

Funcionó.


Para Mysql 5.7 yo uso

shell $> sudo grep ''contraseña temporal'' /var/log/mysqld.log



''mysql -u root -p --connect-expired-password'' este problema ejecutando ''mysql -u root -p --connect-expired-password'' Luego ingrese la contraseña de auto-gen vencida de mysql. Finalmente entré. Seleccioné mysql db con ''use mysql'' y luego actualicé al usuario ''root'' pw con ''ALTER USER ''root''@''localhost'' IDENTIFIED BY ''your new password''