Antes de fastidiar algo, cuando inicio sesión usando $ mysql -u root -p
, y muestro bases de datos:
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| game_data |
| test |
+--------------------+
Luego intenté crear un nuevo usuario y noté que algo anda mal con los PRIVILEGIOS.
Así que eliminé los nuevos usuarios, y supongo que eliminé la 'raíz' y el 'Administrador' accidentalmente.
Luego trato de crear 'root' nuevamente, pero obtengo un error de acceso denegado al otorgar todos los privilegios.
mysql> CREATE USER 'root'@'localhost' IDENTIFIED BY 'password';
mysql> grant all privileges on *.* to 'root'@'localhost' identified by 'password' with grant option;
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
Si vuelvo a iniciar sesión en MySQL usando $ mysql -u root -p
y muestro bases de datos,
+--------------------+
| Database |
+--------------------+
| information_schema |
+--------------------+
Todas las otras bases de datos se han ido.
¿Cómo soluciono MySQL ahora?
No puedo encontrar la base de datos 'mysql', no puedo crear una base de datos, crear un usuario, cualquier cosa que intente hacer obtendrá un error.
ERROR 1045 (28000): acceso denegado para el usuario 'root' @ 'localhost' (usando la contraseña: YES).
¿Debo reinstalar MySQL usando MacPorts? Si reinstalo, perderé la base de datos game_data
, ¿verdad?
fuente
-p
y la contraseña. Sé que es tonto, pero podría ayudar a alguien.Respuestas:
Sigue los pasos a continuación.
Inicie la instancia del servidor MySQL o daemon con la
--skip-grant-tables
opción (configuración de seguridad).Ejecute estas declaraciones.
Si enfrenta el campo desconocido Error de contraseña anterior use:
Finalmente, reinicie la instancia / daemon sin la
--skip-grant-tables
opción.Ahora debería poder conectarse con su nueva contraseña.
Introducir la contraseña:
my_password
Solución para el error de MySQL "No se puede bloquear ibdata1"
fuente
Ninguno de los anteriores fue útil para mí. Descubrí que necesitaba borrar el método del complemento. En 5.6, podría hacer:
En 5.7, descubrí que necesitaba:
De acuerdo con los documentos, con el complemento configurado en una cadena vacía, debería haberse configurado de manera predeterminada como mysql_native_password, pero puede confundirse con un hash de contraseña vacío. Para obtener más matices, puede leer la documentación aquí: https://dev.mysql.com/doc/refman/5.7/en/native-authentication-plugin.html
fuente
set plugin='mysql_native_password'
lo hice por mi, gracias! Para referencia: dev.mysql.com/doc/refman/5.7/en/…También asegúrese de que el registro necesario en la tabla
user
tenga unplugin
campo vacío (puede haber, por ejemplo"unix_socket"
).Desde la versión 5.5.7 mysql tiene varios complementos de autenticación compatibles con https://dev.mysql.com/doc/refman/5.6/en/authentication-plugins.html
Entonces, si tiene un
plugin
campo no vacío , la contraseña se ignorará y habrá una advertencia en el registro de errores de mysql (para mí es/var/log/mysql/error.log
):[Warning] 'user' entry 'root@localhost' has both a password and an authentication plugin specified. The password will be ignored.
fuente
plugin
demysql_native_password
.Puedes ver algo como esto;
Asegurar la implementación del servidor MySQL.
Si ves que dice
Mira los últimos 10 minutos de este video , te enseña cómo lo haces.
fuente
Intentalo:
fuente
--no-defaults --force
interruptores? De lo contrario, es un duplicado VLQ de la respuesta aceptada anterior.ERROR 1054 (42S22): Unknown column 'Password' in 'field list'
En mi caso, tuve un daño en la base de datos, después de reiniciar mysql en Debian, el inicio de sesión raíz no tenía contraseña. La solución fue esta:
Algunas otras respuestas también han mencionado el plugin native_password, pero así es como puedes hacerlo sin complicarte la manipulación. Así es como debe ser cambiado.
fuente