por - Restaurar el usuario y la contraseña ''root'' eliminados para MySQL
recuperar contraseña phpmyadmin wamp (7)
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/restore-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.
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
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.
La versión traducida de http://hack2live.blogspot.com/2009/04/restore-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 restore_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.
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á.
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í.
Tengo una manera rápida y sucia
Obtenga a alguien con los derechos de SysAdmin y haga lo siguiente:
Agregue ''skip-grant-tables'' a my.cnf en la sección [mysqld]
reiniciar mysql
escriba mysql sin contraseña y presione enter
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'';
salir de mysql
eliminar ''skip-grant-tables'' de my.cnf en la sección [mysqld]
reiniciar mysql
Eso debería ser todo!
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
- detener el proceso mysqld encontrado con
ps aux | grep mysql
- y detuvo cualquier proceso de mysql encontrado con
matar -9 [pid]
- 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.
- 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)
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
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!!