mysql cómo arreglar el acceso denegado para el usuario 'root' @ 'localhost'

Pregunta:

Antes de estropear algo, cuando inicio sesión usando $ mysql -u root -p , y muestro las bases de datos:

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| game_data          |
| test               |
+--------------------+

Luego intenté crear un nuevo usuario y noté que algo andaba mal con los PRIVILEGIOS.

Así que eliminé a 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 las bases de datos,

+--------------------+
| Database           |
+--------------------+
| information_schema |
+--------------------+

Todas las demás 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 contraseña: YES).

¿Debo reinstalar MySQL usando MacPorts? Si lo reinstalo, perderé la base de datos game_data , ¿verdad?

Respuesta:

Siga los pasos a continuación.

  1. Inicie la instancia del servidor MySQL o el demonio con la opción --skip-grant-tables (configuración de seguridad).

     $ mysqld --skip-grant-tables
  2. Ejecute estas declaraciones.

     $ mysql -u root mysql $mysql> UPDATE user SET Password=PASSWORD('my_password') where USER='root'; $mysql> FLUSH PRIVILEGES;

Si se enfrenta al campo desconocido Error de contraseña anterior, use:

update user set authentication_string=password('my_password') where user='root';
  1. Finalmente, reinicie la instancia / demonio sin la opción --skip-grant-tables .

     $ /etc/init.d/mysql restart

Ahora debería poder conectarse con su nueva contraseña.

$ mysql -u root -p

Ingrese contraseña: my_password

Solución para el error "No se puede bloquear ibdata1" de MySQL

sudo mv /usr/local/mysql/data/ibdata1 /usr/local/mysql/data/ibdata1.bak
sudo mv /usr/local/mysql/data/ib_logfile0 /usr/local/mysql/data/ib_logfile0.bak
sudo mv /usr/local/mysql/data/ib_logfile1 /usr/local/mysql/data/ib_logfile1.bak
sudo cp -a /usr/local/mysql/data/ibdata1.bak /usr/local/mysql/data/ibdata1
sudo cp -a /usr/local/mysql/data/ib_logfile0.bak /usr/local/mysql/data/ib_logfile0
sudo cp -a /usr/local/mysql/data/ib_logfile1.bak /usr/local/mysql/data/ib_logfile1
sudo /etc/init.d/mysql restart

Leave a Comment

Your email address will not be published. Required fields are marked *

web tasarım