Mi entorno local es:
- Ubuntu 16.04 nuevo
- con PHP 7
con MySQL 5.7 instalado
sudo apt-get install mysql-common mysql-server
Cuando intenté iniciar sesión en MySQL (a través de CLI):
mysql -u root -p
Encontré un problema cíclico con 3 pasos.
1) Primero fue un problema de socket
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock'
Solución: reiniciar la PC.
Lo que condujo a otro error:
2) Con acceso denegado
ERROR 1698 (28000): Access denied for user 'root'@'localhost'.
Posible problema? ¡Contraseña incorrecta para el usuario "root"!
Solución: restablezca la contraseña de root con este tutorial .
Con la contraseña correcta y el socket de trabajo, llega el último error.
3) Complemento de autenticación incorrecto
mysql "ERROR 1524 (HY000): Plugin 'unix_socket' is not loaded"
Aquí me detuve o de alguna manera llegué a 1) nuevamente.
mysql
linux
ubuntu
auth-socket
Tomáš Votruba
fuente
fuente
Respuestas:
Tengo una solución!
Al restablecer la contraseña de root en el paso 2), también cambie el complemento de autenticación a
mysql_native_password
:¡Esto me permitió iniciar sesión con éxito!
Solución de código completo
1. ejecutar comandos bash
1. Primero, ejecuta estos comandos bash
2. luego ejecute los comandos mysql => copie y pegue esto en cli manualmente
3. ejecutar más comandos bash
4. Problema del zócalo (de sus comentarios)
Cuando ve un error de socket , una comunidad vino con 2 posibles soluciones:
(gracias a @Cerin)
O
(gracias a @Peter Dvukhrechensky)
Caminos ciegos y posibles errores de borde
Use 127.0.0.1 en lugar de localhost
Puede provocar un "archivo faltante" o un error slt.
Funciona mejor
Omitir el problema del socket
He encontrado muchas formas de crear un
mysqld.sock
archivo, cambiar los derechos de acceso o vincularlo. No era el problema después de todo.Salta el
my.cnf
archivoEl problema tampoco estaba allí. Si no está seguro, esto podría ayudarlo .
fuente
sudo mkdir -p /var/run/mysqld; sudo chown mysql /var/run/mysqld; sudo mysqld_safe --skip-grant-tables &
mkdir -p /var/run/mysqld && chown mysql:mysql /var/run/mysqld
Puede ahorrarle tiempo a alguienPuedes probar lo siguiente, me funciona.
Iniciar servidor:
Ahora, vaya a la carpeta de calcetines:
Copia de seguridad del calcetín:
Detener servidor:
Restaurar el calcetín:
Inicie mysqld_safe:
Shell de inicio mysql:
Cambia la contraseña:
Por lo tanto, primero elija la base de datos
Ahora ingrese a continuación dos consultas:
Ahora todo estará bien.
Para comprobar:
¡hecho!
N.B, After login please change the password again from phpmyadmin
Revisa ahora
hostname/phpmyadmin
Username: root
Password: 123456
Para obtener más detalles, consulte Cómo restablecer la contraseña olvidada phpmyadmin en Ubuntu
fuente
El
mysql
comando por defecto usa sockets UNIX para conectarse a MySQL.Si está utilizando MariaDB, debe cargar el complemento de autenticación de socket de Unix en el lado del servidor.
Puede hacerlo editando la
[mysqld]
configuración de esta manera:Dependiendo de la distribución, el archivo de configuración generalmente se encuentra en
/etc/mysql/
o/usr/local/etc/mysql/
fuente
Puedes probar estos algunos pasos:
Detenga el servicio Mysql primero
sudo /etc/init.d/mysql stop
Inicie sesión como root sin contraseña
sudo mysqld_safe --skip-grant-tables &
Después de iniciar sesión en la terminal mysql, debe ejecutar más comandos:
Después de reiniciar su servidor mysql Si aún enfrenta un error, debe visitar: Restablecer la contraseña de root de MySQL 5.7 Ubuntu 16.04
fuente
Para Ubuntu 18.04 y mysql 5.7
paso 1:
sudo mkdir /var/run/mysqld;
paso 2:
sudo chown mysql /var/run/mysqld
Paso 3:
sudo mysqld_safe --skip-grant-tables
& salir (use salir si está atascado)iniciar sesión en mysql sin contraseña
paso 4:
sudo mysql --user=root mysql
paso 5:
SELECT user,authentication_string,plugin,host FROM mysql.user;
paso 6:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root'
ahora inicie sesión con
mysql -u root -p <root>
fuente
$ mysql -u root -p
pero el acceso fue denegado todavíaAccess denied for user 'root'@'localhost' (using password: YES)
Traté de ingresar la contraseña 'SÍ'Pruébelo: sudo mysql_secure_installation
El trabajo está en Ubuntu 18.04
fuente
En caso de que alguien aterrice aquí después de cometer el mismo error que hice:
plugin="mysql_native_password"
temporalmente. Realicé mis tareas.plugin="auth_socket"
resultadomysql "ERROR 1524 (HY000): Plugin 'auth_socket' is not loaded"
mysql_safe
para omitir la autenticación para cambiar al complemento apropiadoplugin="unix_socket"
Esperemos que esto ahorre algo de tiempo a alguien si recibe el mensaje de error del póster original, pero la verdadera causa fue cambiar el nombre del complemento, en realidad no le falta la existencia del complemento "auth_socket", que según la documentación de MariaDB :
fuente
Puedes probar con los siguientes comandos:
fuente