In order to make it easy to test whether applications can be started with different versions, such as upgrading mysql, we made it possible to start multiple mysql servers easily.
mysqlのアップグレードなど、異なるバージョンでアプリケーションを起動できるかどうかをテストしやすくするために、複数のmysqlサーバーを docker-compose で簡単に起動できるようにしました。
- MySQL v5.5
- MySQL v5.6
- MySQL v5.7
- MySQL v8.0
- mariadb v10.0
- mariadb v10.1
- mariadb v10.2
- mariadb v10.3
https://www.docker.com/products/docker-desktop
No need to install mysql client .
When connect-xxx.sh execute, the mysql client installed in the docker container is executed locally .
MySQLクライアントのインストールは不要です。
connect-xxx.shを実行すると、ローカルからMySQLコンテナ内のmysqlクライアントをリモート実行します。
git clone git@github.com:treetips/docker-compose-all-mysql.git$ docker-compose up -dConnect remote mysql servers.
$ ./connect-mysql-5-5.sh
$ ./connect-mysql-5-6.sh
$ ./connect-mysql-5-6.sh
$ ./connect-mysql-8-0.sh
$ ./connect-mariadb-10-0.sh
$ ./connect-mariadb-10-1.sh
$ ./connect-mariadb-10-2.sh
$ ./connect-mariadb-10-3.shWait for MySQL started before connecting.
MySQLの起動完了を待ってから接続します。。
vi ./my.cnfAll the same connection setting except port.
ポート以外の設定を共通で設定します。
$ vi ./mysql5.5/conf.d/my.cnf
$ vi ./mysql5.6/conf.d/my.cnf
$ vi ./mysql5.7/conf.d/my.cnf
$ vi ./mysql8.0/conf.d/my.cnf
$ vi ./mariadb10.0/conf.d/my.cnf
$ vi ./mariadb10.1/conf.d/my.cnf
$ vi ./mariadb10.2/conf.d/my.cnf
$ vi ./mariadb10.3/conf.d/my.cnfIf you change database-schema or user or password or root-password, Edit .env .
DBスキーマ・ユーザ名・パスワード・rootパスワードを変更したい場合は、 .env を編集して下さい。
DB_DATABASE=work
DB_USER=worker
DB_PASSWORD=worker
DB_ROOT_PASSWORD=rootIf you want to delete general.log and error.log and slow-query.log, execute clear_logs.sh .
general.log ・ error.log を削除したい場合は clear_logs.sh を実行して下さい。
https://hub.docker.com/_/mysql/#initializing-a-fresh-instance
- ./common/initdb.d/common-init.(sh|sql)(executed commonly for all containers)
- ./(mysql|mariadb)X.X/initdb.d/xxx.(sh|sql)(executed for each container)
Initial data can be input at startup by customizing these.
これらをカスタマイズすることにより、起動時に初期データを投入できます。
