Instalé LAMP en Ubuntu 12.04 LTS (Precise Pangolin) y luego configuré la contraseña de root en phpMyAdmin . Olvidé la contraseña y ahora no puedo iniciar sesión. Cuando intento cambiar la contraseña a través del terminal me sale:
ERROR 2002 (HY000): No se puede conectar al servidor MySQL local a través del socket '/var/run/mysqld/mysqld.sock' (2)
¿Cómo puedo arreglar esto? No puedo abrir LAMP, desinstalarlo o reinstalarlo.
mysql
phpmyadmin
lamp
forgot-password
mysql-error-2002
sushmit sarmah
fuente
fuente
Respuestas:
Una vez tuve este problema y lo resolví instalando
mysql-server
, así que asegúrese de haber instalado elmysql-server
, no elmysql-client
o algo más.Ese error significa que el archivo
/var/run/mysqld/mysqld.sock
no existe, si no lo instalómysql-server
, entonces el archivo no existiría. Entonces, en ese caso, instálelo conPero si
mysql-server
ya está instalado y se está ejecutando, entonces debe verificar los archivos de configuración.Los archivos de configuración son:
En
/etc/my.cnf
, la configuración del archivo de socket puede ser/tmp/mysql.sock
y en/etc/mysql/my.cnf
la configuración del archivo de socket puede ser/var/run/mysqld/mysqld.sock
. Entonces, elimine o cambie el nombre/etc/mysql/my.cnf
, deje que mysql lo use/etc/my.cnf
, entonces el problema puede resolverse.fuente
sudo apt-get install mysql-server
instalar mysql en ubuntuPrueba esto:
Además (para ver si se está ejecutando):
Probablemente es solo una configuración incorrecta en el
my.cnf
archivo, en/etc/somewhere
(dependiendo de la distribución de Linux ).fuente
/etc/my.cnf
y comentar#bind-address = 127.0.0.1
Referencia 1 Referencia 2 . Entonces podría conectarme. Después de esto, me di cuenta de que ahora recibía este error de 2002 que me llevó a esta respuesta y ahora está funcionando nuevamente. Definitivamente, estoy de acuerdo con usted al obtener una explicación sobre por qué simplemente escribirmysql
sin-h
arrojar un error.mysql -h localhost
no funciona Asegúrese de usarmysql -h 127.0.0.1
como se especifica en la respuesta.Estoy viendo todas estas respuestas, pero ninguna ofrece la opción de restablecer la contraseña y ninguna respuesta aceptada . La pregunta real es que olvidó su contraseña, por lo que debe restablecerla, no ver si se está ejecutando o no (instalada o no) como implica la mayoría de estas respuestas.
Para restablecer la contraseña
Siga estos pasos (puede ser útil si realmente olvida su contraseña y puede probarla en cualquier momento, incluso si no se encuentra en la situación en este momento):
Detener
mysql
O para otras versiones de distribución:
Inicie MySQL en modo seguro
Inicie sesión en MySQL usando root
Seleccione la base de datos MySQL para usar
Restablecer la contraseña
Limpiar los privilegios
Reiniciar el servidor
Pare e inicie el servidor nuevamente
Ubuntu y Debian:
En CentOS, Fedora y RHEL:
Inicie sesión con una nueva contraseña
Escriba la nueva contraseña y disfrute de su servidor nuevamente como si nada hubiera pasado
Esto fue tomado de Restablecer una contraseña de root de MySQL .
fuente
repair table user use_frm
funcionó para mí para resolver este problema. - stackoverflow.com/questions/4297592/…update user set authentication_string=password('mynewpassword') where user='root';
Intenté los siguientes pasos:
super user
o usesudo
/etc/mysql/my.cnf
usando geditbind-address
y cambie su valor a la dirección IP de la máquina host del servidor de la base de datos. Para mí fuelocalhost
o127.0.0.1
sudo service mysql start
Y funcionó para mí.
fuente
Solucioné este problema ejecutando el siguiente comando:
Y si está en una Mac y usó brew para instalar mysql, simplemente use:
fuente
Tuve un problema similar. mysql no comenzaría:
Si deshabilité apparmor:
El problema se fue. El problema era que mysqld intentaba acceder a /run/mysqld/mysqld.sock pero el perfil de apparmor solo daba permiso a /var/run/mysqld/mysqld.sock (/ var / run está enlazado a / run, así que estos son realmente lo mismo). No estoy seguro de por qué mysqld no está utilizando la ruta var, ya que eso está configurado en todos los archivos de configuración, pero puede solucionar el problema agregando lo siguiente a /etc/apparmor.d/usr.sbin.mysqld
fuente
En mi caso fue que el disco estaba lleno y mysqld ya no podía comenzar.
Intente reiniciar el servicio mysql.
o
Si no reconoce el
stop
comando, definitivamente es el espacio en disco. Deberías hacer algo de espacio en la particiónmysql
asignada o agrandar el disco.Verifique el espacio en disco con
fuente
Resolví esto matando el
mysql
proceso:Y luego comencé el servidor nuevamente con:
Pero también
start
funciona:Luego inicié sesión como
admin
, y ya estaba.fuente
De alguna manera, el proceso del servidor MySQL no creó el socket, o el cliente está buscando el socket en el lugar equivocado.
Mi primera sugerencia sería verificar si el servidor MySQL se está ejecutando. La segunda sugerencia podría ser: ¿se está ejecutando el servidor MySQL en otro host? Si es así, agregue el
-h <hostname>
bandera a su cliente MySQL en la terminal.Si MySQL se está ejecutando, y se está ejecutando localmente, verifique su
my.cnf
archivo. Debería haber una línea comoVea si eso coincide con la ubicación del socket que mencionó en su publicación.
Por experiencia, diría que el escenario más probable es que su servidor MySQL no se ejecuta en absoluto o no se ejecuta en el mismo host donde ejecuta su cliente MySQL desde el terminal.
fuente
Acabo de experimentar el mismo problema después de que tuve que reiniciar mi servidor de producción. Estoy ejecutando Debian 8.1 (Jessie) en una gota de DigitalOcean.
Esto es lo que hice para resolver mi problema:
Comprueba si el archivo
/var/run/mysqld/mysqld.sock
existe. Si no es así, créelo manualmente ingresandotouch /var/run/mysqld/mysqld.sock
(que es lo que tenía que hacer).Entonces el proceso MySQL puede usar este archivo. Cambie la propiedad de dicho archivo ingresando
chown mysql /var/run/mysqld/mysqld.sock
.Una vez que se haya hecho '2', reinicie el servicio MySQL ingresando
service mysql restart
o/etc/init.d/mysql restart
.Después de seguir los pasos anteriores, mi problema se resolvió. Rara vez tengo este problema, y probablemente haya una mejor manera, por lo que, de ser necesario, proporcione comentarios constructivos :).
fuente
Su servidor mysql podría no estar ejecutándose. Asegúrese de que se ejecuta escribiendo
mysql.server start
en la terminal.fuente
Comprobar el
"bind-adress"
parámetro en my.cnf.De lo contrario, intente con el comando:
-h para el host
127.0.0.1
, es decir, localhost-P (aviso -P como mayúscula) para el puerto
3306
, es decir, el puerto predeterminado para MySQLfuente
Esto es lo que funcionó para mí:
Esto crea un enlace.
fuente
Si está utilizando Amazon EC2 y tiene este problema en la instancia, solo necesita hacer lo siguiente:
Amazon EC2 no tiene un servidor instalado (solo está instalado el cliente), por lo que, en caso de que sea necesario, debe instalarlo en su instancia, y después de eso intente
para comprobar si eso funcionó.
fuente
Creo que cada vez que recibes el error
Primero recomendaré verificar si su
mysql
demonio se está ejecutando ... La mayoría de las veces no se ejecutará de manera predeterminada. Puedes consultarlo por/etc/init.d/mysqld status
.Si no se está ejecutando, primero inícielo:
Apuesto a que funcionará al 110%.
fuente
En lugar de usar localhost:
Use 127.0.0.1
(también tenga en cuenta que no hay espacio entre -p y mypassword)
Disfruta :)
fuente
127.0.0.1
funciona mientraslocalhost
que no.Asegúrese de tener copias de seguridad de bases de datos importantes y luego intente desinstalar cosas relacionadas con MySQL :
Luego instálalo de nuevo :
Esto funcionó para mí y los datos se guardaron.
Si PHP MySQL muestra errores, es posible que deba reinstalar PHP MySQL :
fuente
También me enfrento al mismo problema que ocurrirá si su sistema
mysql server
no se está ejecutando de forma predeterminada, se detendrá nuevamente después de algunos segundos para que ejecute nuevamente el$ sudo service mysql start
comando ( ) que puede cambiar si lo sabe.para ese comando de uso
(ingrese la contraseña de usuario si es necesario porque la usamos
sudo
) y luego ejecuteahora tienes tu base de datos
fuente
Si su instalación fue reciente, debe confirmar si su instalación es el SERVIDOR de instalación ... como mysql-server-5.5 .. Tal vez instaló solo "mysql" ... esto es solo cliente en lugar del servidor.
fuente
Si tiene XAMPP instalado en su máquina Linux, intente copiar su
my.cnf
archivo de/opt/lampp/etc/my.cnf
a/etc/my.cnf
.Luego, ejecute de
mysql -u root
nuevo ... Ahora debe tener el socket correcto y poder ejecutar el cliente MySQL.fuente
También tengo este problema, pero acabo de hacerlo:
Funcionó para mi.
fuente
ENCONTRÉ LA SOLUCIÓN
Antes de disparar el comando:
mysql_secure_installation
sudo systemctl stop mariadb
sudo systemctl start mariadb
mysql_secure_installation
Luego le pedirá la contraseña de root y simplemente puede presionar Enter y establecer su nueva contraseña de root.
fuente
En mi caso, el puerto predeterminado 3306 estaba siendo utilizado por algún otro proceso y, por lo tanto, no se estaba iniciando. Después de que detuve el otro servicio y lo hice
sudo service mysql start
, funcionó bien. Por cierto, puede usar algo comosudo lsof -Pn -iTCP:3306
para ver quién puede estar usando el puerto.fuente
En mi caso funcionó haciendo algo de I + D:
Puedo conectarme a MySQL usando
Pero no está funcionando con
mysql -u root -p
.No encontré ninguno
bind-address
en my.cnf . Así que comentaré el parámetrosocket=/var/lib/mysql/mysqld.sock
en elmy.cnf
que me estaba causando un problema con el inicio de sesión.Después de reiniciar el servicio, todo salió bien:
fuente
Resolví este problema con reiniciar mysql
/etc/init.d/mysql stop
y
/etc/init.d/mysql start
Eso es.
fuente
Por experiencia, digo que debe verificar si el servidor se está ejecutando primero y luego intentar configurar MySQL. La última solución es reinstalar MySQL.
fuente
Abra la terminal y escriba:
Tanto el cliente central de la base de datos MySQL como los paquetes del servidor MySQL tendrán la misma versión 5.5. MySQL Client 5.5 y MySQL Server 5.5 son las "mejores" versiones actuales de estos paquetes en Ubuntu 14.04 según lo determinan los encargados del mantenimiento del paquete.
Si prefiere instalar MySQL Client 5.6 y MySQL Server 5.6, también puede encontrar los paquetes mysql-client-core-5.6 y mysql-server-5.6 en el Centro de software de Ubuntu. Lo importante es que los números de versión de cliente y servidor coincidan en cualquier caso.
Esto funcionó para mí.
fuente
Comprueba si tienes los derechos correctos:
Tuve los mismos problemas y esto funcionó para mí. Después de hacer esto pude iniciar MySQL.
fuente
En mi caso, parece que realmente no pude matar el proceso mysql, cuando ejecuto
El proceso mysql siempre estuvo ahí, parece que estaba bloqueando el archivo socket y el nuevo proceso mysql no pudo crearlo por sí mismo.
así que esto ayudó
Ahora puedo iniciar sesión en la base de datos usando
Luego, para actualizar la contraseña de root:
PD : tuve problemas para actualizar la contraseña de root, parece un problema con el complemento "auth_socket", así que tuve que crear un nuevo usuario con todos los privilegios
Esto crea al usuario "super" sin contraseña y luego puede conectarse con
mysql -u super
fuente
use mysql;
<br> y ahora puede usar <br>UPDATE user SET authentication_string=password('YOURPASSWORDHERE') WHERE user='root'; FLUSH PRIVILEGES;
En el servidor de Debian Jessie, mi solución de trabajo era simplemente hacer
como usuario root
fuente