본문 바로가기
DB/MariaDB

[MariaDB] MariaDB 비밀번호 입력 오류 및 조치 방안 (우분투)

by tyrannojung 2021. 3. 16.
반응형

 

 

오류
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
ERROR 1698 (28000): Access denied for user 'root'@'localhost'

 

 

첫 번째 애러는 비밀번호를 입력하지 않아서 그렇습니다. 이때는 mysql -u root -p를 먼저 입력한 후 비밀번호를 입력해줍니다.

 

두 번째 애러는 비밀번호가 틀려서 그렇습니다. 비밀번호를 모르는 경우 새 비밀번호를 설정한 후 flush를 해주면 됩니다. 

 

이 두가지 사유를 통해서 안 되는 경우 아랫부분을 의심해 봐야 합니다.

 

 

mariadb 버전확인

 

 

해결책

위처럼 MariaDB의 버전이 10.0 이상 버전부터는 Unix Socket 방식으로 적용됩니다. 요즘은 시스템 계정이 mysql ID와 대응시켜 사용하는 것이 트렌드이며 그로 인해 sudo를 통해 우리가 root 권한이 있음을 증명했기 때문에 mysql에 접속할때 비밀번호를 굳이 입력할 필요가 없어진 것입니다.

 

 

root권한 증명이 되었으므로 비밀번호 없이 접속한다.

 

해서 sudo mysql을 통해 접속을 합니다.

하지만 기존과 동일하게 mysql -u root -p와 설정한 비밀번호를 통해 접속하고 싶으신 분들도 계실 겁니다.

 

use mysql;
update user set plugin='' where User='root';
set password = password('원하는 비밀번호');
flush privileges;

 

예시

접속을 위한 계정을 root로 하며, 비밀번호를 설정하고, flush를 해줍니다.

 

성공적으로 기존 방식대로 접속되는 부분을 확인할 수 있습니다.

 

 

 

 

 

 

반응형

댓글