나는 해결책을 얻었다!
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 명령을 실행하십시오 => 이것을 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. 소켓 문제 (귀하의 의견에서)
소켓 오류가 표시되면 커뮤니티에 다음 두 가지 가능한 솔루션이 있습니다.
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에게 감사드립니다)
블라인드 경로 및 가능한 가장자리 오류
localhost 대신 127.0.0.1 사용
mysql -uroot # "-hlocalhost" is default
"파일 누락"또는 slt 오류가 발생할 수 있습니다.
mysql -uroot -h127.0.0.1
더 잘 작동합니다.
소켓 문제 건너 뛰기
mysqld.sock
파일 을 만들고 , 액세스 권한을 변경하거나, 심볼릭 링크하는 방법은 여러 가지가 있습니다 . 결국 문제가 아니었다.
my.cnf
파일 건너 뛰기
문제도 거기에 없었습니다. 확실하지 않은 경우 도움이 될 수 있습니다 .