Soy un ingeniero eléctrico que juega principalmente con sistemas de energía en lugar de programar. Recientemente, he estado siguiendo un manual para instalar un paquete de software en Ubuntu. No tengo conocimiento de mySQL
nada, en realidad. He realizado 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?
Respuestas:
Nota: Para MySQL 5.7+ , consulte la respuesta de @Lahiru a esta pregunta. Que contiene más información actual.
Para MySQL <5.7:
La contraseña raíz predeterminada está en blanco (es decir, una cadena vacía) no
root
. Entonces puedes iniciar sesión como:Obviamente, debe cambiar su contraseña de root después de la instalación
En la mayoría de los casos, también debe configurar cuentas de usuario individuales antes de trabajar extensamente con la base de datos.
fuente
-p
bandera especifica la contraseña, por lo que después de cambiar su contraseña de root le gustaríamysql -u root -p[newpassword]
. El< [filename]
es mediante la entrada std para ejecutar un archivo SQL en la ruta dada a través de la credencial de usuario que proporcione.mysqladmin -u root password abc1234
, pero lo conseguímysqladmin: connect to server at 'localhost' failed error: 'Access denied for user 'root'@'localhost' (using password: NO)'
. Muchas gracias!Pude resolver este problema ejecutando esta declaración
Lo que cambiará la contraseña de root.
fuente
dpkg --get-selections | grep sql
para obtener su versiónyum list installed
agregar| grep sql
para filtrar solo los paquetes SQL.sudo: dpkg-reconfigure: command not found
. ¿Cualquier sugerencia?Tienes que restablecer la contraseña! pasos para mac osx (probado y funcionando) y ubuntu
Dejar de usar MySQL
o
Comience en modo seguro:
(la línea de arriba es el comando completo)
Este será un comando continuo hasta que finalice el proceso, así que abra otra ventana de shell / terminal, inicie sesión sin contraseña:
Según el comentario de @ IberoMedia, para las versiones más recientes de MySQL, el campo se llama
authentication_string
:Inicie MySQL usando:
o
su nueva contraseña es 'contraseña'.
fuente
--skip-grant-tables
úsela--skip-networking
para evitar la conexión de clientes remotos. Ah, y también, este no funcionó para mí. Por eso vine aquí: p--
Lo que sugeriría es usardpkg --get-selections | grep mysql-server-
para obtener su versión exacta de MySQL, luego vaya a sudo dpkg-reconfigure mysql-server-5.x (reemplace 5 .x con la versión de su servidor, por cierto). Comenté la respuesta de @ Divz con esta precisión, pero está enmascarada por varios comentarios de "gracias".Sé que es una vieja pregunta, pero creo que esto podría ayudar a alguien. Recientemente me enfrenté con el mismo problema, pero en mi caso, recuerdo mi contraseña bastante bien, pero siguió dándome el mismo error. Probé tantas soluciones pero todavía ninguna ayudó, entonces intenté esto
después de lo cual te pide una contraseña como esta
y luego escribí la contraseña que usé. Eso es todo
fuente
En el inicio inicial del servidor sucede lo siguiente, dado que el directorio de datos del servidor está vacío:
Para revelarlo, use el siguiente comando:
Cambie la contraseña de root lo antes posible iniciando sesión con la contraseña temporal generada y establezca una contraseña personalizada para la cuenta de superusuario:
fuente
sudo grep 'temporary password' /var/log/mysqld.log
me sale/var/log/mysqld.log: No such file or directory
sudo grep 'temporary password' /var/log/mysql/error.log
. La solución @Lahiru funcionó para mí.shell> sudo grep 'password' /var/log/mysql/error.log
. Funcionó para mí, pero obtengo: ¡ root @ localhost se crea con una contraseña vacía! Considere desactivar la opción --initialize-insecure. Mi versión de mysql es: Ver 8.0.13 para Linux en x86_64 (MySQL Community Server - GPL)si el problema persiste, intente forzar el cambio del pase
Configurar nueva contraseña de usuario root de MySQL
Detenga el servidor MySQL:
Inicie el servidor MySQL y pruébelo:
fuente
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
También estaba plagando mi servidor. 'mysqld_safe' también falló hasta que hice un 'killall mysqld' DESPUÉS de su Paso 1.--skip-grant-tables
úsela--skip-networking
para evitar la conexión de clientes remotos. Ah, y también, este no funcionó para mí. Por eso vine aquí: pSucede cuando falta su contraseña.
Pasos para cambiar la contraseña cuando haya olvidado:
Detenga el servidor MySQL (en Linux):
Inicie la base de datos sin cargar las tablas de concesión o habilitar la conexión en red:
El signo y al final de este comando hará que este proceso se ejecute en el
segundo plano para que pueda continuar utilizando su terminal y ejecutar #mysql -u root, no le pedirá contraseña.
Si obtiene un error como el siguiente:
2018-02-12T08: 57: 39.826071Z mysqld_safe El directorio '/ var / run / mysqld' para el
archivo de socket UNIX 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 1
Hacer el directorio de servicio MySQL.
Otorgue permiso al usuario de MySQL para escribir en el directorio de servicios.
Ejecute el mismo comando en el paso 2 para ejecutar mysql en segundo plano.
Ejecute mysql -u root obtendrá la consola mysql sin ingresar la contraseña.
Ejecute estos comandos
Para MySQL 5.7.6 y más reciente
Para MySQL 5.7.5 y anteriores
Si el comando ALTER USER no funciona, use:
Ahora salga
Para detener la instancia iniciada manualmente
Reiniciar mysql
fuente
sudo kill `sudo cat /var/run/mysqld/mysqld.pid`
Encontré este problema muy molesto y encontré muchas respuestas que no funcionaron. La mejor solución que encontré fue desinstalar completamente mysql y volver a instalarlo. Al volver a instalar, establece una contraseña de root y esto solucionó el problema.
Encontré este código en otro lugar, así que no me atribuyo ningún crédito. Pero funciona. Para instalar mysql después de desinstalarlo, creo que digital ocean tiene un buen tutorial. Mira mi esencia para esto.
https://gist.github.com/JamesDaniel/c02ef210c17c1dec82fc973cac484096
fuente
Estoy usando Ubuntu-16.04: mysql instalado - 5.7. Tuve el mismo problema: inicio de sesión denegado para el usuario root.
Intenté los siguientes pasos:
dpkg --get-selections | grep mysql
(para obtener la versión de mysql).dpkg-reconfigure mysql-server-5.7
mysql -u root -p
Sin -p que no le pide que solicite la contraseña. Una vez que esté dentro, puede crear un usuario con una contraseña siguiendo estos pasos:
Salga de la raíz e inicie sesión desde la que indicó anteriormente.
Por alguna razón, simplemente escribir mysql no funciona. EN ABSOLUTO. Sugiero que sea un hábito de usar
mysql -u <name> -p
.fuente
solo ingresa a la terminal
mysql -u root -p. entonces te pedirá contraseña
fuente
Si ninguna de las otras respuestas funciona para usted y recibió este error:
Siga los comandos a continuación paso a paso hasta que restablezca su contraseña:
fuente
$ sudo cat /etc/mysql/debian.cnf
Esto mostrará detalles como-
# Automatically generated for Debian scripts. DO NOT TOUCH! [client] host = localhost user = debian-sys-maint password = GUx0RblkD3sPhHL5 socket = /var/run/mysqld/mysqld.sock [mysql_upgrade] host = localhost user = debian-sys-maint password = GUx0RblkD3sPhHL5 socket = /var/run/mysqld/mysqld.sock
Arriba podemos ver la contraseña, solo la usaremos
(GUx0RblkD3sPhHL5)
en el indicadormysql -u debian-sys-maint -p Enter password:
ahora proporcione la contraseña ( GUx0RblkD3sPhHL5 ).
Ahora
exit
desde MySQL e inicie sesión nuevamente como-mysql -u root -p Enter password:
Ahora proporcione una nueva contraseña. Eso es todo, tenemos una nueva contraseña para otros usos.
Funcionó para mí, ¡espero que te ayude también!
fuente
Por favor lea la documentación oficial: Mysql: Cómo restablecer la contraseña de root
Si tiene acceso a la terminal:
MySQL 5.7.6 y posterior:
MySQL 5.7.5 y anterior:
fuente
> mysql -u {your_username}
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. Debes guardar la contraseña. La contraseña no se puede recuperar.
Sigue las instrucciones
cd /usr/local/mysql/bin/
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');
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
exit
./mysql -u root -p
Para mayor comodidad, debe agregar
"/usr/local/mysql/bin"
a su RUTAAhora desde cualquier lugar puedes escribir
./mysql -u root -p
y luego escribir la contraseña y obtendrá mysql> prompt.Espero eso ayude.
fuente
La respuesta puede sonar tonta, pero después de perder horas de tiempo, así es como lo hice funcionar
Recibí el mensaje de error
Aunque estaba escribiendo la contraseña correcta (la contraseña temporal que obtienes cuando instalas mysql por primera vez)
Lo entendí bien cuando escribí la contraseña cuando el indicador de contraseña parpadeaba
fuente
si el problema persiste, intente forzar el cambio del pase
Detenga el servidor MySQL (en Linux):
Detenga el servidor MySQL (en Mac OS X):
Inicie el demonio mysqld_safe con --skip-grant-tables
Configurar nueva contraseña de usuario root de MySQL
Detenga el servidor MySQL (en Linux):
Detenga el servidor MySQL (en Mac OS X):
Inicie el servicio del servidor MySQL y pruebe para iniciar sesión por root:
fuente
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> actualizar contraseña de usuario = CONTRASEÑA ('root') donde Usuario = 'root'; Finalmente, vuelva a cargar los privilegios:
mysql> privilegios de descarga; mysql> salir
fuente
Solo una línea y resolvió mi problema.
fuente
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 de root: Unix y Unix-Like Systems MySQL 5.7 manual de referencia
Cuando intenté #sudo mysqld_safe --init-file = / home / me / mysql-init y falló. El error estaba en /var/log/mysql/error.log
2016-08-10T11: 41: 20.421946Z 0 [Nota] Se inició la ejecución de init_file '/ home / me / mysql / mysql-init'. 2016-08-10T11: 41: 20.422070Z 0 [ERROR] / usr / sbin / mysqld: archivo '/ home / me / mysql / mysql-init' no encontrado (Código de error: 13 - Permiso denegado) 2016-08-10T11: 41: 20.422096Z 0 [ERROR] Abortando
El permiso de archivo de mysql-init no fue el problema, es necesario editar el permiso de apparmor
Editar por #sudo vi /etc/apparmor.d/usr.sbin.mysqld
Hacer #sudo /etc/init.d/apparmor reload
Inicie mysqld_safe nuevamente, intente el paso 2 anterior. Compruebe /var/log/mysql/error.log, asegúrese de que no haya errores y que mysqld se inicie 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.
Shutdown mysqld_safe por #sudo mysqladmin -u root -p shutdown
Inicie mysqld de manera normal con #sudo systemctl inicie mysql
fuente
Si tiene MySQL como parte de una imagen Docker (digamos en el puerto 6606) y una instalación de Ubuntu (en el puerto 3306) especificando que el puerto no es suficiente:
arrojará:
ya que está tratando de conectarse a localhost de manera predeterminada, al especificar su IP local se soluciona el problema:
fuente
En versiones recientes de MySQL no hay
password
enmysql.user
tabla.Entonces necesitas ejecutar
ALTER USER
. Ponga este comando de una línea en el archivo.Y ejecútelo como archivo de inicio (como usuario root o mysql)
El servidor MySQL debe detenerse para comenzar
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
fuente
Si aún no ha configurado la contraseña, ejecute
mysql -uroot
, funciona para mí.fuente
En Mac, si tiene problemas para iniciar sesión con la primera contraseña que se le dio en la instalación, tal vez pueda simplemente matar el proceso mysql y luego intentarlo.
Entonces: 1- ejecuta el siguiente comando para encontrar el PID de mysql:
2- mata el proceso:
Luego puede iniciar sesión con la contraseña inicial con este comando:
Que le pide que ingrese su contraseña. Simplemente ingrese la contraseña inicial.
fuente
Tuve un problema similar:
Pero en mi caso, la causa fue realmente tonta. Copié el comando de un documento de Word, y el problema era que un guión no tenía el código ASCII 2D sino el Unicode E28093.
Camino equivocado:
Manera correcta:
Ambos se ven iguales pero no son iguales (pruébalo, copia y pega reemplazando tu contraseña).
Ante este tipo de error, la recomendación es intentar escribir el comando en lugar de copiar y pegar.
fuente
Intenté con la respuesta correcta de @Lahiru, pero no funcionó con el servidor MySQL versión 8.0.16 (Comunidad) en macOS Mojave.
Seguí las instrucciones de Sameer Choudhary arriba y con algunos ajustes, pude cambiar la contraseña de root y habilitar el acceso root desde localhost.
Actualización: no se requieren todos estos, si está instalando en Mac OS usando homebrew: "brew install mysql"
fuente
Tuve este problema con Ubuntu 18.04 LTS y Mysql Server versión 5.7.27-0ubuntu0.18.04.1 (Ubuntu).
Mi solución fue (ejecutándose como root con
sudo -i
)fuente
También me encontré con el mismo problema, lo que hice fue
1) Abre tu cmd
2) Navegue a C: \ Archivos de programa \ MySQL \ MySQL Server 8.0 \ bin> (donde MySQL Server 8.0 puede ser diferente dependiendo del servidor que instaló)
3) Luego ponga el siguiente comando mysql -u root -p
4) Solicitaré la contraseña ... simplemente presione enter, ya que a veces la contraseña que ingresó durante la instalación cambia a en blanco.
ahora simplemente puede acceder a la base de datos
Esta solución me funcionó en la plataforma de Windows
fuente
Si bien la respuesta principal (w / mysqladmin) funcionó en mac 10.15, entonces no funcionó en ubuntu. Luego probé muchas de las otras opciones, incluido el inicio seguro para mysql, ninguna funcionó. Añadiendo así una nueva respuesta.
Al menos para la versión que obtuve
5.7.28-0ubuntu0.18.04.4
, faltaban respuestasIDENTIFIED WITH mysql_native_password
. 5.7.28 es el valor predeterminado en el LTS actual y, por lo tanto, debería ser el predeterminado para la mayoría de los nuevos sistemas nuevos (hasta que salga 20.04 LTS).Encontrado: https://www.digitalocean.com/community/questions/can-t-set-root-password-mysql-server y ahora aplicado
que funciona
fuente
El error que enfrenté fue
fue un problema con el puerto funcionando.
Por defecto, mysql se está ejecutando
port 3306
.Puede verificar eso ejecutando
en un sistema de 32 bits:
sudo /opt/lampp/manager-linux.run
en un sistema de 64 bits:
sudo /opt/lampp/manager-linux-x64.run
y haga clic en el
configure
botónEn mi caso, el puerto se estaba ejecutando en 3307 y el comando que usé fue
fuente
En mi caso estaba tratando de pasar un cáscaracomando a un contenedor. En cuyo caso solo se interpretó la primera palabra. Asegúrate de no estar ejecutando:
Opuesto a:
quizás intente citar:
fuente