テスト用に複数のDBをdocker-compose.ymlで用意する
https://stackoverflow.com/questions/39204142/docker-compose-with-multiple-databases
を参考にする.
注意するのは, トップアンサーのコメントにある通りinit.sqlでrootを作成しようとしないことと, localhostじゃなくて%を使うこと.
また, MYSQL_DATABASE: 'db'みたいに環境変数を渡しちゃうと, init.sqlは実行されないっぽいので, MYSQL_ROOT_PASSWORDのみ設定すること.
docker compose upするまえにvolumeを消すこと.
https://stackoverflow.com/questions/38504257/mysql-scripts-in-docker-entrypoint-initdb-are-not-executed
https://github.com/docker-library/mysql/blob/333935aa6612376d58737a8cab0e3f5df370585a/8.0/docker-entrypoint.sh#L197
https://stackoverflow.com/questions/39204142/docker-compose-with-multiple-databases/68714439#68714439