はじめに
Macのローカルに構築していたMysqlへの接続をやめて、
dockerのMysqlコンテナを使用する修正を実施しました。
接続元はJavaのSpringDataJPA(Hibernate)からです。
WebApplication立ち上がった後に、Select文を1回発行すると落ちてしまいました。
※ たちあがる前のDBMigration(Flyway)は異常終了等はしていませんでした。
色々修正した後のdocker-compose.yml
docker-compose.yml
services:
mysql:
image: mysql:5.7.21
container_name: mysql
ports:
- 3306:3306
volumes:
- ./mysql/init:/docker-entrypoint-initdb.d
- ./mysql/conf/:/etc/mysql/conf.d
networks:
- sonarnet
environment:
MYSQL_ROOT_PASSWORD: root
restart: always
./mysql/conf/custom.cnf
[mysqld]
character-set-server=utf8
lower_case_table_names=1
explicit_defaults_for_timestamp=true
原因と対応内容
上記リファレンスによると、下記の挙動をとるようです。
OS | 大文字と小文字 |
---|---|
OSX | 区別されない |
Unix | 区別される |
ターミナルからMysqlコンテナにログインし、テーブル検索したところ、たしかに大文字小文字の区別をしていました。
取り急ぎの処置として、lower_case_table_names=1
にて対処しました。