유앤미블루
12
2019-07-08 15:54:13 작성 2019-07-08 16:21:04 수정됨
5
169

mariaDB 를 톰캣에서 커넥션풀로 연결하려고 할 때 Access denied error 가 발생합니다.


안녕하세요. 자바 웹프로그래밍을 공부하고 있는 대학생입니다.


제목 그대로 mariaDB 를 톰캣 커넥션풀과 연결시키려고 할 때 Access denied error가 발생합니다.

에러 메세지는 다음과 같습니다.

java.sql.SQLException: Cannot create PoolableConnectionFactory (Access denied for user 'root'@'localhost' (using password: YES))
    at org.apache.tomcat.dbcp.dbcp2.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:735)
    at org.apache.tomcat.dbcp.dbcp2.BasicDataSource.createDataSource(BasicDataSource.java:605)
...(etc)
Caused by: java.sql.SQLInvalidAuthorizationSpecException: Access denied for user 'root'@'localhost' (using password: YES)
    at org.mariadb.jdbc.internal.util.exceptions.ExceptionMapper.get(ExceptionMapper.java:238)
...(etc)
Caused by: java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)
Current charset is UTF-8. If password has been set using other charset, consider using option 'passwordCharacterEncoding'
...(etc)

그리고 tomcat9을 이클립스에 연동시킨 다음, 이클립스에서 tomcat9 server의 context.xml 파일에는 커넥션 풀을 생성하기 위해서 다음과 같이 추가하였습니다.

<Resource 
        name = "jdbc/maria" 
        auth = "Container"
        type = "javax.sql.DataSource"
        driverClassName = "org.mariadb.jdbc.Driver"
        url="jdbc:mysql://localhost:3306/pcj01142"
        username = "root"
        password = "mypassword"
        maxActive="50" 
        maxWait = "-1"/>

구글링을 해본 결과 계정 비밀번호가 틀려서 나타나는 문제, 또는 계정 권한 문제로 나타날 수 있는 것 같은데, 이 두가지 원인이 아니라고 생각하는 이유는 다음과 같습니다.


1.  MySql command 창과 HeidiSQL 프로그램에서는 해당 root 계정과 비밀번호를 이용하여 접속하면 접속이 되었습니다. 

2. mariaDB 를 설치할 때 외부에서 root 계정에 접속할 수 있도록 하였습니다.

3. root 계정 말고 새로운 계정을 생성하여 모든 권한을 부여한 다음 시도해보아도 문제가 해결되지 않았습니다.


에러 로그에서 charset 내용이 나와서 mariaDB server의 charset을 확인해보았지만, utf8_general_ci 로 설정되어 있어 딱히 문제될 것은 없는 것 같다고 생각했습니다.


그리고 지금까지 문제를 해결하기 위해서 시도해본 것들은 다음과 같습니다.

- mariaDB와 tomcat 삭제 및 재설치

- root 계정 비밀번호 재설정

- 새로운 계정 생성 및 모든 권한 부여 후 재시도

- DB server를 중단시킨 뒤 재시작하고 나서 재시도

이렇게 4가지를 시도해보았지만, 해결되지 않았습니다.

어떻게 해결할 수 있을까요?


참고로 톰캣과 mariaDB는 윈도우 10에서 실행하고 있습니다.

0
0