GNU/Linux >> Znalost Linux >  >> Linux

MySQL selže na:mysql ERROR 1524 (HY000):Plugin 'auth_socket' není načten

Mám řešení!

Při resetování hesla uživatele root v kroku 2) změňte také ověřovací plugin na 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;

To mi umožnilo úspěšně se přihlásit!

Řešení s úplným kódem

1. Nejprve spusťte tyto bash příkazy

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. Poté spusťte příkazy mysql => zkopírujte a vložte toto do CLI ručně

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. Spusťte více příkazů 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. Problém se zásuvkou (z vašich komentářů)

Když uvidíte zásuvku Chyba, komunita přišla se 2 možnými řešeními:

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

(díky @Cerin)

Nebo

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

(díky @Peter Dvukhrechensky)

Slepé cesty a možné chyby hran

Namísto localhost použijte 127.0.0.1

mysql -uroot # "-hlocalhost" is default

Může vést k chybě „chybějící soubor“ nebo slt.

mysql -uroot -h127.0.0.1

Funguje lépe.

Přeskočit problém se soketem

Našel jsem mnoho způsobů, jak vytvořit mysqld.sock soubor, změnit přístupová práva nebo jej symbolicky propojit. O to koneckonců nešlo.

Přeskočte my.cnf soubor

Problém tam také nebyl. Pokud si nejste jisti, může vám pomoci toto.


Pro Ubuntu 18.04 a mysql 5.7

  • krok 1:sudo mkdir /var/run/mysqld;

    krok 2:sudo chown mysql /var/run/mysqld

    krok 3:sudo mysqld_safe --skip-grant-tables &quit (použijte quit if itsstuck )

přihlášení do mysql bez hesla

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

    krok 5:SELECT user,authentication_string,plugin,host FROM mysql.user;

    krok 6:ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root'

nyní se přihlaste pomocí

  • mysql -u root -p <root>

Můžete to zkusit následovně, u mě to funguje.

Spustit server:

sudo service mysql start

Nyní přejděte do složky ponožek:

cd /var/run

Zálohujte ponožku:

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

Zastavit server:

sudo service mysql stop

Obnovte ponožku:

sudo mv ./mysqld.bak ./mysqld

Spusťte mysqld_safe:

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

Init mysql shell:

 mysql -u root

Změnit heslo:

Nejprve tedy vyberte databázi

mysql> use mysql;

Nyní zadejte dva dotazy:

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

Nyní bude vše v pořádku.

mysql> flush privileges;
mysql> quit;

Pro kontrolu:

mysql -u root -p

hotovo!

N.B, After login please change the password again from phpmyadmin

Nyní zkontrolujte hostname/phpmyadmin

Username: root

Password: 123456

Další podrobnosti naleznete v části Jak obnovit zapomenuté heslo phpmyadmin v Ubuntu


mysql příkaz ve výchozím nastavení používá k připojení k MySQL sokety UNIX.

Pokud používáte MariaDB, musíte na straně serveru načíst modul Unix Socket Authentication Plugin.

Můžete to udělat úpravou [mysqld] konfigurace takto:

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

V závislosti na distribuci je konfigurační soubor obvykle umístěn na /etc/mysql/ nebo /usr/local/etc/mysql/

Pokud unix_socket=OFF je nastaven ve stejné sekci, povolte jej změnou na unix_socket=ON nebo tato oprava neplatí.


Linux
  1. Porozumění MySQL Pluggable Authentication

  2. Oprava sudo:add-apt-repository:command not found error

  3. MySQL - CHYBA 1045 - Přístup odepřen

  1. Nelze se připojit k serveru MySQL, chyba 111

  2. sudo:python:příkaz nenalezen

  3. sudo nefunguje na určitých příkazech

  1. Příkaz yum-config-manager nenalezen [Opravit]

  2. c_rehash :Chyba příkazu nenalezena – Řešení

  3. Načítání veřejného klíče není povoleno – chyba WSO2 MySQL