Yoon.s

[mysql] Access denied for user ''@'localhost' 오류 본문

백/DB

[mysql] Access denied for user ''@'localhost' 오류

yo_onHJ 2020. 10. 3. 22:47

몇일동안  Access denied for user ''@'localhost' 오류를 너무 많이 발견했다. 

진짜 검색만 얼마나 한 지 모르겠다. 

혹시 나같은 사람이 있을 것 같아서 제가 해결한 방법을 공유해놓으려고 한다. 참고로 맥유저다! 

 

 

먼저, sql에서 mysql을 접속할 때 발생한 Access denied ?

mysql 또는 mysql -u root 로 접속했을 때  Access denied 오류가 발생했다.

 

해결방법.

일단 mariadb를 사용하고 있었는데 몇번의 삭제와 재설치를 했으나 삭제할수록 더 노답임을 발견했다. 

그런데 그것도 계속 하다보니 뭐가 잘못되어가고 있는지 발견할 수 있었다. 바로 삭제가 확실하게 안된 것이다. 

 

1. 그래서 일단 삭제를 제대로 해야 한다. 순서대로 하길 바랍니다. 

  • brew services stop mariadb 
  • brew uninstall mariadb
  • sudo rm -rf /usr/local/var/mysql
  • sudo rm /usr/local/etc/my.cnf
  • brew cleanup

여기서 나의 문제였던 것은 계속적으로 sudo를 통해 삭제하지않아서 삭제하는 것도 permission denied가 걸렸었는데 제대로 안보고 넘기다보니 제대로 설치가 되지 않았던 것이다. 몇번이나 삽질하고 나서야 보인 것이다..

 

2. 다시 mariadb를 설치한다 

  • brew install mariadb

3. mariadb를 실행& 접속한다. 

  • brew services start mariadb
  • mysql.server start
  • mysql 또는 mysql -u root -p

첫번째 명령어로 스타트가 되서 두번째꺼는 안해도 될 것 같지만 두번째하는데서도 많은 오류를 겪었던지라 괜히 실행해서 SUCCESS를 띄우면 기분이 좋아 넣어뒀다 :)


다음으로 spring boot에서 db연결했을 때 연결은 되었지만 값을 전달하지 못할 때 ?

아래같은 오류를 계속적으로 받았다....

failed to obtain jdbc connection; nested exception is java.sql.sqlsyntaxerrorexception: access denied for user ''@'localhost' to database 'ict_db'] with root cause ...

 

해결방법. 

이 문제는 서버에 연결에는 이상이 없지만 특정 db유저에 대해 접근을 거부한 것이었다. 

그래서 간단하게 유저 권한을 부여하면 되는 것이었다. 

GRANT ALL PRIVILEGES ON [DB 또는 *].* TO '계정'@'접근 허용 대상';

 

  • grant all privileges on ict_db.* to ''@'localhost';

나의 경우에는 username을 따로 지정하지 않고 mysql로만 접속했기 때문에 계정 부분의 아무 값을 주지 않은 것이다. 자신의 오류에 맞게 값을 지정하면 될 것 같다.  

 

' > DB' 카테고리의 다른 글

[mssql] 시작하기  (0) 2023.03.03
mysql에서 발생했던 오류들 정리  (0) 2021.01.08
[mysql] mariaDB 시작하기  (0) 2020.10.01
[Oracle] SQL문_JOIN  (0) 2020.08.24
[Oracle] SQL문_SELECT(에러해결)  (0) 2020.08.24
Comments