unix_socket soname plugin not instalar hy000 error desinstalar auth_socket mysql linux ubuntu auth-socket

mysql - not - install plugin unix_socket soname auth_socket '';



MySQL falla en: mysql "ERROR 1524(HY000): el complemento ''auth_socket'' no está cargado" (7)

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.


El comando mysql 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 configuración [mysqld] esta manera:

[mysqld] plugin-load-add = auth_socket.so

Dependiendo de la distribución, el archivo de configuración generalmente se encuentra en /etc/mysql/ o /usr/local/etc/mysql/


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 & quit (use quit si está atascado)

iniciar sesión en mysql sin contraseña

  • paso 4: sudo mysql --user = root mysql

    Paso 5: SELECCIONAR usuario, autenticación_cadena, complemento, host DESDE mysql.user;

    paso 6: ALTERAR USUARIO ''root'' @ ''localhost'' IDENTIFICADO CON mysql_native_password POR ''root''

ahora inicie sesión con

  • mysql -u root -p

Pruébelo: sudo mysql_secure_installation

El trabajo está en Ubuntu 18.04


Puedes probar con los siguientes comandos:

hduser@master:~$ sudo /etc/init.d/mysql stop [ ok ] Stopping mysql (via systemctl): mysql.service. hduser@master:~$ sudo /etc/init.d/mysql start [ ok ] Starting mysql (via systemctl): mysql.service.


Puedes probar estos pasos:

Detener Mysql Service 1st 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:

use mysql; UPDATE mysql.user SET authentication_string=PASSWORD(''solutionclub3@*^G''), plugin=''mysql_native_password'' WHERE User=''root''; flush privileges; sudo mysqladmin -u root -p -S /var/run/mysqld/mysqld.sock shutdown

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


Puedes probar lo siguiente, me funciona.

Iniciar servidor:

sudo service mysql start

Ahora, vaya a la carpeta de calcetines:

cd /var/run

Copia de seguridad del calcetín:

sudo cp -rp ./mysqld ./mysqld.bak

Detener servidor:

sudo service mysql stop

Restaurar el calcetín:

sudo mv ./mysqld.bak ./mysqld

Inicie mysqld_safe:

sudo mysqld_safe --skip-grant-tables --skip-networking &

Shell de inicio mysql:

mysql -u root

Cambia la contraseña:

Por lo tanto, primero elija la base de datos

mysql> use mysql;

Ahora ingrese a continuación dos consultas:

mysql> update user set authentication_string=password(''123456'') where user=''root''; mysql> update user set plugin="mysql_native_password" where User=''root'';

Ahora todo estará bien.

mysql> flush privileges; mysql> quit;

Para comprobar:

mysql -u root -p

¡hecho!

NB, After login please change the password again from phpmyadmin

Ahora verifique el hostname/phpmyadmin

Username: root

Password: 123456

Para obtener más detalles, consulte Cómo restablecer la contraseña olvidada phpmyadmin en Ubuntu


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 :

use mysql; update user set authentication_string=PASSWORD("") where User=''root''; update user set plugin="mysql_native_password" where User=''root''; # THIS LINE flush privileges; quit;

¡Esto me permitió iniciar sesión con éxito!

Solución de código completo

1. ejecutar comandos bash

1. Primero, ejecuta estos comandos bash

sudo /etc/init.d/mysql stop # stop mysql service sudo mysqld_safe --skip-grant-tables & # start mysql without password # enter -> go mysql -uroot # connect to mysql

2. luego ejecute comandos mysql => copie y pegue esto en cli manualmente

use mysql; # use mysql table update user set authentication_string=PASSWORD("") where User=''root''; # update password to nothing update user set plugin="mysql_native_password" where User=''root''; # set password resolving to default mechanism for root user flush privileges; quit;

3. ejecutar más comandos bash

sudo /etc/init.d/mysql stop sudo /etc/init.d/mysql start # reset mysql # try login to database, just press enter at password prompt because your password is now blank mysql -u root -p

4. Problema del zócalo (de sus comentarios)

Cuando ve un error de socket , una comunidad viene con 2 posibles soluciones:

sudo mkdir -p /var/run/mysqld; sudo chown mysql /var/run/mysqld sudo mysqld_safe --skip-grant-tables &

(gracias a @Cerin)

O

mkdir -p /var/run/mysqld && chown mysql:mysql /var/run/mysqld

(gracias a @Peter Dvukhrechensky)

Caminos ciegos y posibles errores de borde

Use 127.0.0.1 en lugar de localhost

mysql -uroot # "-hlocalhost" is default

Puede provocar un "archivo faltante" o un error slt.

mysql -uroot -h127.0.0.1

Funciona mejor

Omitir el problema del socket

He encontrado muchas formas de crear el archivo mysqld.sock , cambiar los derechos de acceso o vincularlo. No era el problema después de todo.

Omita el archivo my.cnf

El problema tampoco estaba allí. Si no está seguro, esto podría ayudarlo .