사용자 도구

사이트 도구


database:aurora:aurora_mariadb

Aurora MariaDB

MariaDB JDBC driver Aurora 지원 중단

  • 3.x 버전부터 Aurora 지원중단.
  • Aurora - AWS Database 의 Advanced JDBC Wrapper 등을 사용할 것.

useSSL=false

JDBC 드라이버 사용시 Aurora Cluster에서 read only (slave) DB로 접속되는 현상

  • Aurora Cluster 사용시 jdbc:mariadb:aurora JDBC URL을 사용하면 Cluster Failover가 지원되고 setReadOnly 설정에 따른 Master/Slave 분기가 지원된다.
    • 3.0 부터는 더이상 jdbc:mariadb:aurora를 지원하지 않는다. jdbc:mariadb:replcation을 사용해야 할 것으로 보임.
  • 2.2.5 이하 버전에서는 failover시에 write/read 커넥션이 바뀌는 현상이 발생할 수 있다. 2.x 최신버전 사용 할 것. 버전별로 미묘한 버그가 있어서 2.2.5 이상에서도 문제 발생함.
    • 구 버전 드라이버에 Master/Slave를 잘 못 지정하는 버그가 있으므로 2.1 이상을 사용해야 한다.
    • 최신 드라이버를 사용하더라도 Connection Pool에서 커넥션을 일정기간 사용하면 끊고 새로 접속하도록 설정해야 한다. 그렇지 않으면 어느 순간 read/write가 잘 못된 곳을 바라보게 된다.(maxAge 같은 프라퍼티)
# 에러 메시지
15:22:47.225 org.hibernate.engine.jdbc.spi.SqlExceptionHelper (conn:3568) The MySQL server is running with the --read-only option so it cannot execute this statement
15:22:47.225 org.mariadb.jdbc.MariaDbStatement error executing query
java.sql.SQLException: (conn:3568) The MySQL server is running with the --read-only option so it cannot execute this statement

fractional second 반올림 현상

  • MySQL 5.6 에서 발생하는 현상이 마찬가지로 발생한다.
  • 제일 좋은 것은 datetime(6)로 지정하는 것이며, 그럴 수 없을 때는
    • MariaDB Connector/J 를 사용할 경우에는 useFractionalSeconds=false 옵션을 지정해야 한다.
    • MySQL Connector/J 를 사용할 경우에는 sendFractionalSeconds=false 옵션을 지정해야 한다.
database/aurora/aurora_mariadb.txt · 마지막으로 수정됨: 2024/01/09 10:41 저자 kwon37xi