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

오젼·2022년 11월 2일
0

문제

mariadb에서 root@localhost의 패스워드를 변경하고 나서 mysql server 접속에러가 났었다.

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
/usr/bin/mysqladmin: connect to server at 'localhost' failed

과정

에러문구 그대로 검색을 해봤는데 다 비밀번호 설정을 다시 하라거나 초기화 하는 방법이었음.

하지만 내 경우 mariadb -p나 mysqladmin -p 옵션으로 패스워드를 같이 입력하는 경우는 잘 되는데 service mysql status와 같이 패스워드 옵션 없이 사용하게 될 때 문제가 발생하는 것이었음.

옵션 없이 사용하는 경우 configuration 파일 설정대로 연결이 될 것이라 생각했고, mysql server에 연결할 때 사용하는 conf파일을 찾기 시작함

내 경우(debian:10) /etc/mysql/debian.cnf 파일 구성이

[client]
host     = localhost
user     = root
password = 
socket   = /var/run/mysqld/mysqld.sock
[mysql_upgrade]
host     = localhost
user     = root
password = 
socket   = /var/run/mysqld/mysqld.sock
basedir  = /usr

다음과 같이 돼있었음. user가 root이며 host가 localhost socket도 mysqld.sock... 딱 봐도 해당 conf 파일에 password를 추가해주면 될 것 같았다!

해결

/etc/mysql/debian.cnf password에 바꾼 mariadb root의 password를 입력해준다.

[client]
host     = localhost
user     = root
password = '바꾼 비밀번호'
socket   = /var/run/mysqld/mysqld.sock
[mysql_upgrade]
host     = localhost
user     = root
password = '바꾼 비밀번호'
socket   = /var/run/mysqld/mysqld.sock
basedir  = /usr

0개의 댓글