Mysql
 sql >> база данни >  >> RDS >> Mysql

MySQL се проваля при:mysql ГРЕШКА 1524 (HY000):Приставката 'auth_socket' не е заредена

Имам решение!

Когато нулирате root паролата на стъпка 2), също променете приставката за удостоверяване на 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;

Това ми позволи да вляза успешно!

Пълно кодово решение

1. стартирайте bash команди

1. първо изпълнете тези 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. след това изпълнете mysql commands => копирайте, поставете това в cli ръчно

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. стартирайте повече команди 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. Проблем със сокета (от вашите коментари)

Когато видите сокет грешка, общността дойде с 2 възможни решения:

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

(благодаря на @Cerin)

Или

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

(благодаря на @Peter Dvukhrechensky)

Слепи пътища и възможни грешки в ръбовете

Използвайте 127.0.0.1 вместо localhost

mysql -uroot # "-hlocalhost" is default

Може да доведе до "липсващ файл" или грешка в slt.

mysql -uroot -h127.0.0.1

Работи по-добре.

Пропуснете проблема с сокета

Намерих много начини за създаване на mysqld.sock файл, променете правата за достъп или го символизирайте. Все пак това не беше проблемът.

Пропуснете my.cnf файл

Въпросът също не беше там. Ако не сте сигурни, това може да ви помогне .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mysql заявка за динамично преобразуване на редове в колони на базата на две колони

  2. Грешка при събитие в Mysql при използване на php

  3. Изявление VALUES в MySQL

  4. Пренаписване на mysql select за намаляване на времето и запис на tmp на диск

  5. В PHP с PDO, как да проверя окончателната SQL параметризирана заявка?