Membuat environment container mysql-server yang fleksibel dan dinamis
Motivasi
Untuk memudahkan dalam mengelola environment yang praktis dan apakah aplikasi dapat dijalankan dengan versi MySQL yang berbeda, disini kita akan membuat versi mysql yang dinamis dan praktis yang bisa kita pilih sesuai versi MySQL.
Saya membuatnya dengan meracik docker-compose
untuk mempermudah pengujian apakah aplikasi dapat dimulai dengan versi yang berbeda.
Yang Disupport MySQL version
- MySQL v5.5
- MySQL v5.6
- MySQL v5.7
- MySQL v8.0
- mariadb v10.0
- mariadb v10.1
- mariadb v10.2
- mariadb v10.3
Penggunaan
Install docker
https://docs.docker.com/engine/install
Install mysql-client
tidak butuh untuk menginstall mysql client
.
saat memanggil connect-xxx.sh, mysql yang dipasang di container akan dicek dan dijalankan secara lokal
.
Clone this repository
Jalankan mysql docker containers
Hubungkan mysql-server lainnya pada docker container
Tunggu startup MySQL selesai sebelum menghubungkan.
Optional
Customize mysql client settings
Konfigurasikan pengaturan selain port yang sama.
Customize mysql server settings
Customize default schema, user, password
Jika Anda ingin mengubah skema DB, nama pengguna, kata sandi, atau kata sandi root, edit .env
.
Remove logs
Jika Anda ingin menghapus general.log
dan error.log
dan slow-query.log
, jalankan clear_logs.sh
.
Customize init scripts
https://hub.docker.com/_/mysql/#initializing-a-fresh-instance
Execution order at startup
./common/initdb.d/common-init.(sh|sql)
(dieksekusi secara umum untuk semua kontainer)./(mysql|mariadb)X.X/initdb.d/xxx.(sh|sql)
(dieksekusi untuk setiap container)
Dengan menyesuaikan ini, data awal dapat diisi saat startup.
Git Repository : LINK