MySQL Docker adalah solusi populer yang banyak digunakan oleh pengembang untuk menjalankan database MySQL dalam lingkungan yang terisolasi dan portabel.
Dalam dunia pengembangan perangkat lunak modern, penggunaan Docker telah menjadi standar untuk menciptakan lingkungan yang konsisten.
Salah satu aplikasi yang sering dijalankan di dalam container adalah MySQL, sebuah sistem manajemen basis data relasional yang sangat populer
Artikel ini akan membahas cara mengelola MySQL di dalam Docker container, mulai dari instalasi hingga pengelolaan data.
1. Menjalankan MySQL di Docker
Langkah pertama untuk menggunakan MySQL di Docker adalah menarik image MySQL dari Docker Hub dan menjalankannya sebagai container. Perintah dasar yang digunakan adalah sebagai berikut:
docker run --name mysql-container -e MYSQL_ROOT_PASSWORD=rootpass -p 3306:3306 -d mysql:latest
Penjelasan:
--name mysql-container
: Memberi nama container.-e MYSQL_ROOT_PASSWORD=rootpass
: Menetapkan password root MySQL.-p 3306:3306
: Mengekspose port 3306 ke host.-d mysql:latest
: Menjalankan image MySQL versi terbaru di background.
Dengan perintah ini, MySQL akan berjalan di dalam container dan bisa diakses melalui localhost:3306
.
2. Mengakses MySQL dari Host
Setelah container MySQL berjalan, kamu bisa mengakses database menggunakan command line client atau GUI seperti MySQL Workbench, DBeaver, atau phpMyAdmin. Untuk mengakses melalui terminal, gunakan:
docker exec -it mysql-container mysql -u root -p
Kamu akan diminta memasukkan password sesuai yang telah diatur sebelumnya (misalnya rootpass
).
3. Menyimpan Data Secara Permanen
Secara default, data di dalam container bersifat sementara. Agar data tidak hilang saat container dihentikan atau dihapus, kamu perlu menggunakan volume:
docker run --name mysql-container -e MYSQL_ROOT_PASSWORD=rootpass -p 3306:3306 -v mysql-data:/var/lib/mysql -d mysql:latest
Volume mysql-data
akan menyimpan semua file data MySQL, sehingga tetap aman walaupun container dihapus.
4. Melakukan Backup dan Restore
Untuk backup database:
docker exec mysql-container /usr/bin/mysqldump -u root -p rootpass nama_database > backup.sql
Untuk restore database:
docker exec -i mysql-container /usr/bin/mysql -u root -p rootpass nama_database < backup.sql
Langkah ini sangat penting dalam manajemen database, terutama untuk keperluan pemeliharaan dan pemulihan data.
5. Mengelola Container
Gunakan perintah-perintah berikut untuk mengelola container:
- Melihat container aktif:
docker ps
- Menghentikan container:
docker stop mysql-container
- Memulai kembali:
docker start mysql-container
- Menghapus container:
docker rm mysql-container
Kesimpulan
Mengelola MySQL dalam Docker container adalah solusi efisien bagi pengembang yang ingin lingkungan database yang mudah dikonfigurasi dan portabel.
Dengan menggunakan volume, backup rutin, dan tools manajemen yang tepat, kamu bisa menjaga keamanan dan konsistensi data dalam proses pengembangan maupun produksi. Docker membuat pengelolaan database menjadi lebih fleksibel dan dapat disesuaikan dengan kebutuhan proyekmu.