usuario - mysqli_real_connect():(hy000/1045): access denied for user ''root''@''localhost''(using password: yes)
ERROR 1045(28000): Acceso denegado para el usuario ''root'' @ ''localhost''(usando la contraseña: YES) (17)
¡Tienes que restablecer la contraseña! pasos para mac osx (probado y en funcionamiento) y ubuntu
Detener MySQL usando
sudo service mysql stop
o
$ sudo /usr/local/mysql/support-files/mysql.server stop
Comience en modo seguro:
$ sudo mysqld_safe --skip-grant-tables --skip-networking
(la línea superior es el comando completo)
Este será un comando continuo hasta que finalice el proceso, por lo tanto abra otra ventana de shell / terminal e inicie sesión sin contraseña:
$ mysql -u root
mysql> UPDATE mysql.user SET Password=PASSWORD(''password'') WHERE User=''root'';
Inicie MySQL usando:
sudo service mysql start
o
sudo /usr/local/mysql/support-files/mysql.server start
su nueva contraseña es ''contraseña''.
Soy un ingeniero eléctrico que juega principalmente con el sistema eléctrico en lugar de programar. Recientemente, he estado siguiendo un manual para instalar un paquete de software en Ubuntu. En realidad, no tengo ningún conocimiento sobre mySQL
. He hecho las siguientes instalaciones en mi Ubuntu.
sudo apt-get update
sudo apt-get install mysql-server-5.5
sudo apt-get install mysql-client-5.5
sudo apt-get install mysql-common
sudo apt-get install glade
sudo apt-get install ntp
Entonces lo hago
me@ubuntu:~/Desktop/iPDC-v1.3.1/DBServer-1.1$ mysql -uroot -proot <"Db.sql"
Terminé con el siguiente mensaje de error.
ERROR 1045 (28000): Access denied for user ''root''@''localhost'' (using password: YES)
¿Cómo puedo solucionarlo y continuar?
En Ubuntu 16.04 (MySQL versión 5.7.13) pude resolver el problema con los pasos a continuación:
Siga las instrucciones de la sección B.5.3.2.2 Restablecimiento de la contraseña raíz: Unix y sistemas similares a Unix Manual de referencia de MySQL 5.7
Cuando probé #sudo mysqld_safe --init-file = / home / me / mysql-init & falló. El error fue en /var/log/mysql/error.log
2016-08-10T11: 41: 20.421946Z 0 [Note] Se inició la ejecución de init_file ''/ home / me / mysql / mysql-init''. 2016-08-10T11: 41: 20.422070Z 0 [ERROR] / usr / sbin / mysqld: No se encontró el archivo ''/ home / me / mysql / mysql-init'' (Errcode: 13 - Permiso denegado) 2016-08-10T11: 41: 20.422096Z 0 [ERROR] Aborto
El permiso de archivo de mysql-init no era el problema, necesita editar el permiso de apparmor
Edita por #sudo vi /etc/apparmor.d/usr.sbin.mysqld
.... /var/log/mysql/ r, /var/log/mysql/** rw, # Allow user init file /home/pranab/mysql/* r, # Site-specific additions and overrides. See local/README for details. #include <local/usr.sbin.mysqld> }
Hacer #sudo /etc/init.d/apparmor recargar
Inicie mysqld_safe nuevamente, pruebe el paso 2 anterior. Compruebe /var/log/mysql/error.log asegúrese de que no haya ningún error y de que mysqld se haya iniciado correctamente
Ejecute #mysql -u root -p
Introducir la contraseña:
Ingrese la contraseña que especificó en mysql-init. Debería poder iniciar sesión como root ahora.
Cierre mysqld_safe por #sudo mysqladmin -u root -p shutdown
Comience de manera normal por #sudo systemctl start mysql
En la puesta en marcha inicial del servidor ocurre lo siguiente, dado que el directorio de datos del servidor está vacío:
- El servidor está inicializado.
- El certificado SSL y los archivos clave se generan en el directorio de datos.
- El complemento validate_password está instalado y habilitado.
- Se crea la cuenta de superusuario ''root'' @ ''localhost''. La contraseña para el superusuario se configura y almacena en el archivo de registro de errores.
Para revelarlo, use el siguiente comando:
shell> sudo grep ''temporary password'' /var/log/mysqld.log
Cambie la contraseña de root tan pronto como sea posible iniciando sesión con la contraseña temporal generada y establezca una contraseña personalizada para la cuenta de superusuario:
shell> mysql -uroot -p
mysql> ALTER USER ''root''@''localhost'' IDENTIFIED BY ''MyNewPass5!'';
En versiones recientes de MySQL no hay password
en la tabla mysql.user
.
Por lo tanto, debe ejecutar ALTER USER
. Pon este comando de una línea en el archivo.
ALTER USER ''root''@''localhost'' IDENTIFIED BY ''MyNewPass'';
Y ejecutarlo como archivo de inicio (como usuario root o mysql)
mysqld_safe --init-file=/home/me/mysql-init &
El servidor MySQL debe detenerse para iniciar mysqld_safe
.
Además, puede haber un problema con los permisos de apparmor para cargar este archivo de inicio. Lea más aquí https://blogs.oracle.com/jsmyth/entry/apparmor_and_mysql
Estoy usando Ubuntu-16.04: mysql instalado - 5.7. Tuve el mismo problema: inicio de sesión denegado para el usuario root.
Probé los siguientes pasos:
1. dpkg --get-selections | grep mysql
dpkg --get-selections | grep mysql
(para obtener la versión de mysql).
2. dpkg-reconfigure mysql-server-5.7
3. mysql -u root -p
Sin -p que no te pida que pidas una contraseña. Una vez que esté dentro, puede crear un usuario con una contraseña siguiendo estos pasos:
CREATE USER ''your_new_username''@''your-hostname'' IDENTIFIED BY ''your-password'';
GRANT ALL PRIVILEGES ON *.* to ''your_new_username''@''your-hostname'' WITH GRANT OPTION;
Salga de la raíz e inicie sesión desde el que dio arriba.
mysql -u <your_new_username> -p
Por alguna razón, solo escribir mysql no funciona. EN ABSOLUTO. Sugiero que sea un hábito usar mysql -u -p .
Estoy usando mysql-5.7.12-osx10.11-x86_64.dmg en Mac OSX
El proceso de instalación configura automáticamente una contraseña temporal para el usuario root. Deberías guardar la contraseña. La contraseña no puede ser recuperada.
Sigue las instrucciones
- Ir a
cd /usr/local/mysql/bin/
- Ingrese la contraseña temporal (que se vería como "tsO07JF1 => 3")
- Deberías obtener el prompt mysql>.
- Ejecute,
SET PASSWORD FOR ''root''@''localhost'' = PASSWORD(''{YOUR_PASSWORD}'');
Si desea establecer su contraseña: "root", entonces el comando sería "SET PASSWORD FOR ''root''@''localhost'' = PASSWORD(''root'');
- Ejecute
ALTER USER ''root''@''localhost'' PASSWORD EXPIRE NEVER;
- Ejecutar
exit
- Ejecute
./mysql -u root -p
- Escribe tu contraseña. En mi caso, escribiría "raíz" (sin cita)
- Eso es todo.
Para su comodidad, debe agregar "/usr/local/mysql/bin"
a su PATH
Ahora, desde cualquier lugar, puede escribir ./mysql -u root -p
y luego escribir la contraseña y obtendrá el prompt mysql>.
Espero eso ayude.
La contraseña predeterminada será nula, por lo que debe cambiar la contraseña siguiendo los pasos a continuación.
conectarse a mysql
root # mysql
Use mysql
mysql> update user set password = PASSWORD (''root'') donde User = ''root''; Finalmente, recarga los privilegios:
mysql> privilegios de descarga; mysql> salir
La respuesta puede sonar tonta, pero después de perder horas, así es como lo hice funcionar
mysql -u root -p
Recibí el mensaje de error
ERROR 1045 (28000): Access denied for user ''root''@''localhost'' (using password: YES)
Aunque estaba escribiendo la contraseña correcta (la contraseña temporal que obtienes la primera vez que instalas mysql)
Lo hice bien cuando escribí la contraseña cuando el mensaje de contraseña parpadeaba
Me encontré con este problema tan molesto y encontré muchas respuestas que no funcionaron. La mejor solución que encontré fue desinstalar mysql por completo y volver a instalarlo. Al volver a instalar, estableciste una contraseña de root y esto solucionó el problema.
sudo apt-get purge mysql-server mysql-client mysql-common mysql-server-core-5.5 mysql-client-core-5.5 sudo rm -rf /etc/mysql /var/lib/mysql sudo apt-get autoremove sudo apt-get autoclean
Encontré este código en otro lugar, así que no me atribuyo ningún mérito. Pero funciona. Para instalar mysql después de desinstalarlo, creo que el océano digital tiene un buen tutorial sobre él. Mira mi esencia para esto.
https://gist.github.com/JamesDaniel/c02ef210c17c1dec82fc973cac484096
Por favor, lea la documentación oficial: Mysql: Cómo restablecer la contraseña de root
Si tienes acceso a la terminal:
MySQL 5.7.6 y posterior:
$ mysql
mysql> ALTER USER ''root''@''localhost'' IDENTIFIED BY ''MyNewPass'';
MySQL 5.7.5 y anterior:
$ mysql
mysql> SET PASSWORD FOR ''root''@''localhost'' = PASSWORD(''MyNewPass'');
Pude resolver este problema ejecutando esta declaración
sudo dpkg-reconfigure mysql-server-5.5
Lo cual cambiará la contraseña de root.
Sé que esta es una pregunta antigua, pero creo que esto podría ayudar a alguien. Recientemente me enfrenté al mismo problema, pero en mi caso, recuerdo mi contraseña bastante bien, pero no dejaba de darme el mismo error. Intenté muchas soluciones pero aún no me sirvió, entonces probé esto
mysql -u root -p
después de lo cual te pide una contraseña como esta
Enter password:
y luego tecleé la contraseña que usé. Eso es todo
Solo una línea y solucionó mi problema.
sudo dpkg-reconfigure mysql-server-5.5
Sucede cuando falta su contraseña.
Pasos para cambiar la contraseña cuando la ha olvidado:
Detener el servidor MySQL (en Linux):
sudo systemctl stop mysql
Inicie la base de datos sin cargar las tablas de concesión o habilitar la red:
sudo mysqld_safe --skip-grant-tables --skip-networking &
El ampersand al final de este comando hará que este proceso se ejecute en
de modo que pueda continuar usando su terminal y ejecutar #mysql -u root, no le pedirá la contraseña.Si obtiene un error como el siguiente:
2018-02-12T08: 57: 39.826071Z mysqld_safe Directory ''/ var / run / mysqld'' para UNIX
el archivo de socket no existe mysql -u root ERROR 2002 (HY000): No se puede conectar al servidor MySQL local a través del socket
''/var/run/mysqld/mysqld.sock'' (2) [1] + Salir 1Haga el directorio de servicio MySQL.
sudo mkdir /var/run/mysqld
Dale permiso al usuario de MySQL para escribir en el directorio del servicio.
sudo chown mysql: /var/run/mysqld
Ejecute el mismo comando en el paso 2 para ejecutar mysql en segundo plano.
Ejecute mysql -u root obtendrá la consola mysql sin ingresar contraseña.
Ejecuta estos comandos
FLUSH PRIVILEGES;
Para MySQL 5.7.6 y posterior
ALTER USER ''root''@''localhost'' IDENTIFIED BY ''new_password'';
Para MySQL 5.7.5 y anteriores
SET PASSWORD FOR ''root''@''localhost'' = PASSWORD(''new_password'');
Si el comando ALTER USER no funciona, use:
UPDATE mysql.user SET authentication_string = PASSWORD(''new_password'') WHERE User = ''root'' AND Host = ''localhost'';
Ahora salga
Para detener la instancia iniciada manualmente
sudo kill `cat /var/run/mysqld/mysqld.pid`
Reiniciar mysql
sudo systemctl start mysql
si el problema persiste trate de forzar el cambio del pase
Detener el servidor MySQL (en Linux):
/etc/init.d/mysql stop
Detener el servidor MySQL (en Mac OS X):
mysql.server stop
Inicie el demonio mysqld_safe con --skip-grant-tables
mysqld_safe --skip-grant-tables &
mysql -u root
Configurar nueva contraseña de usuario root de MySQL
use mysql;
update user set password=PASSWORD("NEW-ROOT-PASSWORD") where User=''root'';
flush privileges;
quit;
Detener el servidor MySQL (en Linux):
/etc/init.d/mysql stop
Detener el servidor MySQL (en Mac OS X):
mysql.server stop
Inicie el servicio de servidor MySQL y pruebe para iniciar sesión por root:
mysql -u root -p
si el problema persiste trate de forzar el cambio del pase
/etc/init.d/mysql stop
mysqld_safe --skip-grant-tables &
mysql -u root
Configurar nueva contraseña de usuario root de MySQL
use mysql;
update user set password=PASSWORD("NEW-ROOT-PASSWORD") where User=''root'';
flush privileges;
quit;
Detener el servidor MySQL:
/etc/init.d/mysql stop
Inicie el servidor MySQL y pruébelo:
mysql -u root -p
Nota: Para MySQL 5.7+ , consulte la respuesta de @Lahiru a esta pregunta. Eso contiene más información actual.
Para MySQL <5.7:
La contraseña de root predeterminada está en blanco (es decir, cadena vacía) no en la root
. Entonces puedes iniciar sesión como:
mysql -u root
Obviamente debe cambiar su contraseña de root después de la instalación
mysqladmin -u root password [newpassword]
En la mayoría de los casos, también debe configurar cuentas de usuario individuales antes de trabajar extensamente con la base de datos.