Por alguna razón, MySQL dejó de dar acceso a root. Desinstalado y reinstalado con Homebrew. Instalación nueva, tablas nuevas pero cuando entro
mysql -u root -p
Me sale este error:
Acceso denegado para el usuario 'root' @ 'localhost' (usando contraseña: NO)
Reinstalé MySQL cinco veces, pero todavía me pide una contraseña. ¿Cómo puedo solucionar esto?
mysql_secure_installation
y responda las preguntas formuladas, simplemysql -u root
trabajó aquí ...Respuestas:
Simplemente ejecute este comando (donde
NEWPASS
está su contraseña):Tuve el mismo error y lo solucioné de esta manera.
fuente
$(brew --prefix mariadb)/bin/mysqladmin -u root password NEWPASS
sudo $(brew --prefix mariadb)/bin/mysqladmin -u root password NEWPASS
Ninguno de estos funcionó para mí. Creo que ya tenía mysql en algún lugar de mi computadora, por lo que se estableció una contraseña allí o algo así. Después de pasar horas probando todas las soluciones, esto es lo que funcionó para mí:
todo el crédito a @Ghrua
fuente
ALTER USER 'root'@'localhost' IDENTIFIED BY 'YOURNEWPASSWORD';
para establecer su nueva contraseña de root.En caso de que haya configurado y olvidado inadvertidamente la contraseña de root, y no quiera borrar todas sus bases de datos y comenzar de nuevo porque es perezoso y olvidó tener una solución de respaldo en su lugar, y está utilizando una instalación de Homebrew bastante reciente (Invierno de 2013), aquí hay pasos para restablecer su contraseña para MySQL.
Detenga la instancia de MySQL que se está ejecutando actualmente
Ahora inicie mysql omitiendo manualmente las tablas de concesión y la creación de redes
Tenga en cuenta que si cuando ejecuta echo $ (brew --prefix mysql) y no responde como "/ usr / local / opt / mysql" en bash, deberá ajustar la ruta en consecuencia.
Una vez que haya hecho esto, ahora debería tener una instancia de MySQL sin protección en ejecución.
Inicie sesión y establezca la contraseña
Cuando se le solicite, ingrese el siguiente comando de MySQL para establecer una nueva contraseña para el usuario afectado.
Si todo salió según lo planeado, debería decir:
Salga del indicador de MySQL.
Detener servidor:
Ahora, volvamos a poner el demonio de lanzamiento para que tengamos nuestro MySQL listo nuevamente:
Felicidades. Acaba de restablecer su contraseña de root de mysql. ¡Sírvase un café y obtenga una solución de respaldo!
fuente
mysqladmin -u root shutdown
password
no era una columna válida en mysql 5.7.9. En su lugar, tuve que usarauthentication_string
en su lugar. El resto de las instrucciones funcionaron perfectamente. ¡Gracias!update user set authentication_string=password('new_password_here') where user='root';
update mysql.user set authentication_string=password('none') where user='root';
para que funcionara. (Al igual que el comentario justo encima de mí, pero anteponermysql.
auser
.)Tuve el mismo problema hace un par de días. Ocurre cuando instala a
mysql
travéshomebrew
y ejecuta el script de inicialización (mysql_install_db
) antes de iniciar elmysql
demonio.Para solucionarlo, puede eliminar
mysql
archivos de datos, reiniciar el servicio y luego ejecutar el script de inicialización:fuente
mysqld --initialize
No such file or directory
cuando ejecuto ese primer comando.Recibí este error después de instalar mysql a través de home brew.
Así que primero elimine la instalación. Luego reinstalar a través de Homebrew
Luego reinicia el servicio mysql
Luego ejecute este comando para establecer su nueva contraseña de root.
Finalmente pedirá recargar los privilegios. Decir que sí. Luego inicie sesión en mysql nuevamente. Y use la nueva contraseña que ha establecido.
fuente
mysql_secure_installation
pero la parte clave fue elmysql.server restart
Si tu corres
también falla el inicio de sesión con la cuenta root:
luego se crea el usuario administrador predeterminado con el mismo nombre que el nombre de usuario de su cuenta de MacOS , por ejemplo, johnsmit .
Para iniciar sesión como root, emita:
fuente
Esto funcionó para mí:
fuente
Acabo de notar algo común a la mayoría de las respuestas aquí y lo he confirmado en mi nueva instalación. En realidad, es obvio si observa las recomendaciones para ejecutar
mysqladmin -u root
sin él-p
.No hay contraseña.
Brew configura mysql con solo un usuario root y sin contraseña. Esto tiene sentido, supongo, pero las advertencias posteriores a la instalación no lo mencionan en absoluto.
fuente
Intente
sudo
evitar el error "Acceso denegado":sudo $(brew --prefix mariadb)/bin/mysqladmin -u root password NEWPASS
fuente
Dado que la pregunta se hizo / respondió hace mucho tiempo, esas respuestas principales no funcionan para mí. Aquí está mi solución, en 2020.
Antecedentes : mysql / mariadb fresco instalado por homebrew.
Problema : la contraseña de root no está vacía ni es desconocida.
La solución :
La razón :
fuente
Espero que esto ayude.
fuente
Ejecutar estas líneas en la terminal funcionó para mí y para varios otros que tenían el mismo problema. Estas instrucciones se enumeran en la terminal después de que brew instale mysql con éxito.
donde
YOURPASSWORD
está la contraseña de root.fuente
No such file or directory
cuando ejecuto estos comandosCompruebe que no tiene un .my.cnf escondido en su hogar. Ese era mi problema.
fuente
Esto funcionó para mí para MAC https://flipdazed.github.io/blog/osx%20maintenance/set-up-mysql-osx
Inicie mysql ejecutando
los servicios de preparación inician mysql
Ejecute el script de instalación
mysql_secure_installation
Se le pedirá que configure un complemento VALIDATE PASSWORD. Ingrese y para hacer esto.
Seleccione la validación de contraseña requerida (realmente no importa si es solo usted quien usa la base de datos)
Ahora seleccione y para todas las opciones restantes: Eliminar anon. usuarios; no permitir inicios de sesión remotos de root; eliminar la base de datos de prueba; recargar tablas de privilegios. Ahora debería recibir un mensaje de
All done!
fuente
Esto funcionó para mí. ¡Espero que esto funcione para ti también! Siguelos.
fuente
rm -rf /usr/local/var/mysql/
comando eliminará todas las bases de datos y datos de Mysql en su computadora!La contraseña predeterminada cuando instala mysql a través de brew es root, pruebe esto, funcionó para mí
mysql -uroot -proot
fuente
brew info mysql
: Hemos instalado su base de datos MySQL sin una contraseña de root. Para asegurarlo, ejecute: mysql_secure_installationTerminal 1:
Terminal 2:
fuente
Estoy usando Catalina y uso este
mysql_secure_installation
comando y ahora funciona para mí:entro
root
como contraseña actualy haz el resto
fuente
Entonces, en caso de que alguien tenga la misma situación y configuración que yo y también esté a punto de volverse loco, esto funcionó para mí. .
Después de una larga historia, tuve una MariaDB instalada en brew que seguía reiniciando automáticamente cuando mataba su proceso (esto era obra de brew), que tenía una contraseña de root, que no conocía.
$ brew services list
Esto muestra algo como:
mariadb started jdoe /path/to/homebrew.mxcl.mariadb.plist
Detenga el servidor MySQL con:
$ brew services stop mariadb
Luego, inícielo de nuevo sin el usuario root (y sin usar brew):
$ mariadbd --skip-grant-tables &
Aquí,
mysql_secure_installation
no funcionó para mí debido al--skip-grant-tables
, y no funcionaría sin el--skip-grant-tables
porque necesitaba la contraseña (que yo no tenía).Intentar
$(brew --prefix mysql)/bin/mysqladmin -u root password hunter2
solo arrojó errores extraños y no hizo nada;$(brew --prefix mariadb)/bin/mysqladmin -u root password hunter2
tampoco funcionó, dio diferentes errores y sugerencias que no funcionaron para mí.Pero puede iniciar sesión en mysql ahora sin credenciales:
$ mysql
Aquí, el antiguo método de actualización de la tabla de usuarios para root no funciona porque "La columna 'Contraseña' no es actualizable".
El nuevo método usa
alter user
PERO solo funciona después de que lo haya hecho,flush privileges;
hágalo primero.Entonces:
MariaDB [(none)]> alter user 'root'@'localhost' identified by 'hunter2';
(
MariaDB [(none)]>
es el indicador de MySQL aquí)Entonces hazlo de
flush privileges;
nuevo.Salga del cliente MySQL.
Ahora, en lo que respecta a brew, MariaDB todavía no se está ejecutando, por lo que se usa
$ ps aux | grep -i mariadb
para encontrar el pid y$ kill -9 <pid>
eso.Luego utilícelo
$ brew services start mariadb
para comenzar de nuevo.fuente
Use el archivo init para iniciar mysql y cambiar la contraseña de root.
Su contraseña de root ahora ha cambiado. Asegúrese de apagar el servidor correctamente para guardar el cambio de contraseña. En una nueva ventana de terminal ejecutar
e ingrese su nuevo pase.
Inicie su servicio y elimine el archivo init
Probado en mysql versión 8.0.19
fuente