Anda dapat menggunakan docker dan docker-compose. Misalnya dengan docker compose.
Buat file bernama docker-compose.yml seperti:
version: '3'
services:
db:
image: percona:5.7
container_name: whatever_you_want
environment:
- MYSQL_DATABASE=${DATABASE}
- MYSQL_ROOT_PASSWORD=${ROOT_PASSWORD}
- MYSQL_USER=${USER}
- MYSQL_PASSWORD=${PASSWORD}
volumes:
- ./data:/docker-entrypoint-initdb.d
ports:
- "3306:3306"
Selain itu, Anda memerlukan file di bawah ./data
dengan perintah SQL apa pun yang ingin Anda jalankan dan dan .env
file tempat Anda mendefinisikan variabel lingkungan yang saya gunakan di docker-compose.yml
file di atas seperti:${DATABASE}
.env
. Anda berkas:
# MySQL
DATABASE=db_name_here
ROOT_USER=root
ROOT_PASSWORD=root
USER=dev
PASSWORD=dev
File Anda dengan perintah SQL untuk mengeksekusi ./data/init.sql
(Anda dapat memberi nama file apa pun yang Anda inginkan)
CREATE DATABASE 'whatever';
DROP DATABASE 'whatever';
-- you can do whatever you want here
File ini akan dieksekusi setiap kali Anda melakukan:
docker-compose up -d db