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