Restaurar el usuario y la contraseña ‘root’ eliminados para MySQL

Accidentalmente eliminé el usuario root en mi configuración de desarrollador local de MAMP / MySQL ejecutándose en OS X. No hay otros usuarios creados para volver a MySQL.

Esta es una pesadilla leve que parece no poder hacer nada sin la root .

Encontré esto: http://hack2live.blogspot.com/2009/04/restre-repair-reset-mysql-root.html que parece exactamente lo que necesito.

Tampoco creo que una reinstalación de MAMP haga el truco, ya que muchas de mis búsquedas superficiales dieron lugar a personas que lo habían intentado sin éxito.

¿Alguien sabe de una forma amigable para OSX de volver a crear root @ localhost en MySQL de MAMP? Básicamente, simplemente no sé dónde está MySQL viviendo en MAMP o cómo ejecutar los comandos correctos en el terminal para intentar solucionarlo.

Actualizar

Intenté varias opciones a continuación para restaurar la raíz en vano y decidí restaurar una copia de seguridad de toda la aplicación MAMP. Así que tengo root de nuevo, puedo abrir phpmyadmin, etc.

Tengo una manera rápida y sucia

Obtenga a alguien con los derechos de SysAdmin y haga lo siguiente:

  1. Agregue ‘skip-grant-tables’ a my.cnf en la sección [mysqld]

  2. reiniciar mysql

  3. escriba mysql sin contraseña y presione enter

  4. Ejecuta esto:

     DELETE FROM mysql.user WHERE user = 'root' AND host = 'localhost'; INSERT INTO mysql.user SET user = 'root', host = 'localhost', password = Password('whatevernewpassword'), Select_priv = 'y', Insert_priv = 'y', Update_priv = 'y', Delete_priv = 'y', Create_priv = 'y', Drop_priv = 'y', Reload_priv = 'y', Shutdown_priv = 'y', Process_priv = 'y', File_priv = 'y', Grant_priv = 'y', References_priv = 'y', Index_priv = 'y', Alter_priv = 'y', Show_db_priv = 'y', Super_priv = 'y', Create_tmp_table_priv = 'y', Lock_tables_priv = 'y', Execute_priv = 'y', Repl_slave_priv = 'y', Repl_client_priv = 'y', Create_view_priv = 'y', Show_view_priv = 'y', Create_routine_priv = 'y', Alter_routine_priv = 'y', Create_user_priv = 'y', Event_priv = 'y', Trigger_priv = 'y', Create_tablespace_priv = 'y'; 
  5. salir de mysql

  6. eliminar ‘skip-grant-tables’ de my.cnf en la sección [mysqld]

  7. reiniciar mysql

Eso debería ser todo!

La versión traducida de http://hack2live.blogspot.com/2009/04/restre-repair-reset-mysql-root.html – para OS X.

Abra TextEdit.app y seleccione en Formato -> “Hacer texto sin formato”.
Corte y pegue lo siguiente en TextEdit y guárdelo en su carpeta HOME con el nombre restre_root_privileges.sql

 update mysql.user set Super_priv='y' where user='root'; update mysql.user set Select_priv='y' where user='root'; update mysql.user set Insert_priv='y' where user='root'; update mysql.user set Update_priv='y' where user='root'; update mysql.user set Delete_priv='y' where user='root'; update mysql.user set Create_priv='y' where user='root'; update mysql.user set Drop_priv='y' where user='root'; update mysql.user set Reload_priv='y' where user='root'; update mysql.user set Shutdown_priv='y' where user='root'; update mysql.user set Process_priv='y' where user='root'; update mysql.user set File_priv='y' where user='root'; update mysql.user set Grant_priv='y' where user='root'; update mysql.user set References_priv='y' where user='root'; update mysql.user set Index_priv='y' where user='root'; update mysql.user set Alter_priv='y' where user='root'; update mysql.user set Show_db_priv='y' where user='root'; update mysql.user set Super_priv='y' where user='root'; update mysql.user set Create_tmp_table_priv='y' where user='root'; update mysql.user set Lock_tables_priv='y' where user='root'; update mysql.user set Execute_priv='y' where user='root'; update mysql.user set Repl_slave_priv='y' where user='root'; update mysql.user set Repl_client_priv='y' where user='root'; update mysql.user set Create_view_priv='y' where user='root'; update mysql.user set Show_view_priv='y' where user='root'; update mysql.user set Create_routine_priv='y' where user='root'; update mysql.user set Alter_routine_priv='y' where user='root'; update mysql.user set Create_user_priv='y' where user='root'; 

Guarde y salga de TextEdit.app.

Detener tu servidor mysqld. Cómo hacer esto, depende de qué instalación usaste para MySQL. Probablemente tenga un PreferencePane en las preferencias de su sistema. De lo contrario, debe consultar los documentos para su instalación de MySQL.

Abrir Terminal.app (Aplicaciones / Utilidades) Ingrese los siguientes comandos:

 sudo mysqld --skip-grant-tables & #start your MySQL server without access control mysql -vv < ~/restore_root_privileges.sql sudo mysqladmin -p shutdown 

Inicie su servidor MySQL como habitualmente, por ejemplo, desde PreferencePanes.
En Terminal.app: ingrese lo siguiente:

 mysql -u root -p mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION; mysql> quit; 

Eso es todo. Sin ninguna garantía. Puede perder todos sus datos si hace algo mal. Haga una copia de seguridad primero de sus archivos mysql.

Si tienes algo como:

 -bash: mysql: command not found 

eso significa que su instalación es incorrecta y debe encontrar dónde están sus binarios mysql, y necesita ingresar el directorio en su variable PATH.

Acabo de obtener lo mismo – problema. Estoy usando Xammp en Windows 7. Accidentalmente eliminé un usuario raíz en phpmyadmin.

Parece que pude solucionar el problema en una ruta fácil como esta:

Detener apache y mysql en el control xammp

Ir a … / xammp / mysql

Verá el archivo “resetroot”. Ejecutar este archivo

Una vez finalizada esta aplicación, reinicie su mysql y apache

Ve a phpmyadmin y verás el usuario root restaurado

Ahora puedes acceder a todas tus bases de datos nuevamente

usando mamp. Cometí el error aparentemente común de eliminar al usuario raíz al crear otro usuario, ¡estaba bloqueado!

así que encontré esta publicación e intenté seguir las instrucciones, pero …

Estaba recibiendo estos errores: -bash: mysql: comando no encontrado al intentar ejecutar los comandos mysql comandos y más tarde recibí este error DELETE comando denegado al usuario ” @ ‘localhost’ para la tabla ‘usuario’ cuando tring para establecer correctamente privilegios para el usuario raíz y hacer cualquier cosa con ese usuario una vez mysql en shell.

así que antes de que pudiera usar los comandos eric y rolando publicados (gracias chicos por eso) esto es lo que hice

Necesito comenzar mysqld correctamente así que tuve que hacer lo siguiente

  1. detener el proceso mysqld encontrado con

ps aux | grep mysql y detener la aplicación de interfaz mamp también ..

  1. y detuvo cualquier proceso de mysql encontrado con

matar -9 [pid] asegúrese de que no se esté ejecutando ningún proceso mysql antes de continuar.

  1. luego tuve que reiniciar mysqld correctamente desde la ubicación real donde tenía binarios mysql, este commnad comenzará mysld sin pedir una contraseña (algo así como en modo seguro)

/ Aplicaciones / MAMP / Library / bin / mysqld –skip-grant-tables –skip-networking &

Intenté con mi archivo .cnf pero no pude hacerlo funcionar.

  1. entonces tuve que entrar en mysql en shell

/ Aplicaciones / MAMP / Library / bin / mysql -u root -p

(si se le solicita una contraseña, simplemente presione intro)

  1. luego ejecuta los comandos eric y rolando publicados, esta vez no recibí ningún error “DELETE comando denegado al usuario ” @ ‘localhost’ para la tabla ‘usuario'” si lo haces, no comenzaste a mysqld correctamente

  2. luego detenga el servicio mysqld:

/ Aplicaciones / MAMP / Library / bin / mysqld stop

luego se reinició el mamp como de costumbre con la GUI

y todo comenzó a funcionar nuevamente como lo fue antes … ¡Estaba tan aliviada!

2 horas de pánico y prueba y error con la consola … lecciones valiosas aprendidas …

Si confundí alguno de los comandos o la explicación (que podría ser el caso, ya que estaba rastreando mis pasos al escribir esta publicación, por favor hágamelo saber). Me gustaría actualizar la publicación.

por último no dar. ¡¡se puede hacer!!

Hice exactamente lo mismo ayer, siendo nuevo en Mac y en el servidor sql. Accidentalmente borré el usuario raíz porque presioné el botón incorrecto en Privilegios mientras trataba de configurar un nuevo usuario y contraseña.

No tenía ningún trabajo de utilidad en esta computadora, así que no me preocupaba eliminar mis sitios web.

  • Primero desinstalé MAMP Pro (para el cual tenía un ícono en Launchpad).
  • Luego borré el directorio MAMP de la carpeta Aplicaciones.
  • Luego reinstalé MAMP de la descarga de internet.
  • A continuación, eliminé todas mis cookies, el caché, etc. de safari.
  • Apagué mi computadora y reinicié.

Ahora tengo acceso a phpMyAdmin a través del enlace en la página de inicio una vez que arranca MAMP.

Solo quería contribuir cómo resolví esto. Si eliminó accidentalmente el usuario raíz en MAMP PRO y está utilizando OSX con copias de seguridad de Time Machine. Simplemente vaya a esta carpeta en el buscador:

/ Library / Application Support / appsolute /

Luego ‘Ingrese Time Machine’ desde la barra de menú superior y restaure una copia de seguridad reciente de la carpeta MAMP PRO. Ahorré muchas molestias para mí.

Ok, deja de ejecutar tu MySQL y abre los archivos de instalación con los que viene. Debería haber un archivo bat llamado resetroot.bat. Ejecútelo y su problema desaparecerá.