Multiple Version MySQL Same Server, dalam beberapa hal atau kasus mungkin Anda ingin menguji dan menjalankan Database dalam satu server yang sama. Ini sangat mungkin dilakukan karena MySQL sendiri sebuah Service yang fleksible dan bisa saja dilakukan. Dalam dokumentasi ini kami akan membagikan cara menjalanakan MySQL Version 8, 5.7 dan MariaDB dalam satu server. Kenapa menjalankannya dalam satu server, keuntungannya pengelolaannya lebih tercentral dan mudah untuk di monitoring, dan Hemat biaya karena tidak perlu membeli atau mendeploy Virtual Machine baru jika ingin melakukan Installasi MySQL baru lagi.
Disini kami akan mendeploy menggunakan Docker, dalam installasinya, Kenapa menggunakan Docker, karena menurut kami,ini lebih mudah dan cepat. Untuk konfigurasi dan Maintenance-nya lebih mudah juga. Ada beberapa hal yang harus diperhatikan, misalnya untuk port 3306 tidak boleh dipakai dalam semua MySQL, karena MySQL tidak akan berjalan jika port yang dipakai sama. Berikut cara Mendeploy MySQL Multi Version in Same Server.

Langkah 1 – Install Docker Engine (Multiple Version MySQL)
Pertama kita tentunya sudah menyiapkan sebauh VirtualMachine dengan OS Ubuntu, Debian atau CentOS. Jika sudah Install Docker Engine terlebih dahulu. ikutin peritah berikut ini
Sumber : Install Docker Ubuntu
Tambahkan Repository Docker
Sebelum install menggunakan Repository pada Server VPS, Anda harus melakukan set up Docker Respository. Lalu install dan Update Docker.
Set up the repository
apt-get update
apt-get install \
ca-certificates \
curl \
gnupg \
lsb-release
Add Docker’s official GPG key:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
Gunakan Command Repository Stabil. Untuk perintah Docker Stable beriku perintahnya
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null
Install Docker Engine
Lakukan pembaruan paket, lalu Install Docker Latest dan Container
apt-get update
apt-get install docker-ce docker-ce-cli containerd.io
Verifikasi Version Docker
docker -v
Lalu Konfirmasi Status Docker
systemctl status docker
* docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
Active: active (running) since Sun 2022-02-13 09:05:54 UTC; 22s ago
TriggeredBy: * docker.socket
Docs: https://docs.docker.com
Main PID: 17597 (dockerd)
Tasks: 8
Memory: 27.6M
CPU: 259ms
CGroup: /system.slice/docker.service
`-17597 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
Langkah 2 – Install Docker Compose
Berikut command untuk melakukan Install Docker Compose
curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
Lalu izinkan permission untuk execute binary
chmod +x /usr/local/bin/docker-compose
Verifikas Version Docker Compose
docker-compose -v
docker-compose version 1.29.2, build 5becea4
Langkah 3 – Setup Docker Compose
Pertama kita membuat sebuah file YML, yaitu docker-compose.yml
nano docker-compose.yml
Lalu Copy-kan Script berikut ini
version: '3.9'
services:
db1:
container_name: db1
image: mariadb:10.1
volumes:
- /home/docker/mysql/data1:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=root_passworddb1
- MYSQL_DATABASE=databasedb1
- MYSQL_USER=userdb1
- MYSQL_PASSWORD=passworddb1
ports:
- "3306:3306"
restart: always
db2:
container_name: db2
image: mysql:5.7
volumes:
- /home/docker/mysql/data2:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=root_passworddb2
- MYSQL_DATABASE=databasedb2
- MYSQL_USER=userdb2
- MYSQL_PASSWORD=passworddb2
ports:
- "3307:3306"
restart: always
db3:
container_name: db3
image: mysql:8.0
volumes:
- /home/docker/mysql/data3:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=root_passworddb3
- MYSQL_DATABASE=databasedb3
- MYSQL_USER=userdb3
- MYSQL_PASSWORD=userdb3
ports:
- "3308:3306"
restart: always
Save and Close, jalankan Docker Compose
Kita harus perhatikan, bahwa MySQL tidak semuanya berjalan pada Port 3306, Disini kita menggunakan 3 port yaitu DB1 -> Port 3306, DB2 -> Port 3307 dan DB3 -> Port 3308
docker-compose up -d
Digest: sha256:1205b21b713812a6ba9fb59df206017dc06976fe68e172fbc6d153d7a4e13dfe
Status: Downloaded newer image for mariadb:10.1
Creating db1 ... done
Creating db3 ... done
Creating db2 ... done
Konfirmasi Container berjalan atau Tidak
docker ps -a
d9ff05361d25 mysql:8.0 "docker-entrypoint.s…" 28 seconds ago Up 22 seconds 33060/tcp, 0.0.0.0:3308->3306/tcp, :::3308->3306/tcp db3
ba8b34dfd630 mysql:5.7 "docker-entrypoint.s…" 28 seconds ago Up 22 seconds 33060/tcp, 0.0.0.0:3307->3306/tcp, :::3307->3306/tcp db2
a582bde04c7a mariadb:10.1 "docker-entrypoint.s…" 28 seconds ago Up 22 seconds 0.0.0.0:3306->3306/tcp, :::3306->3306/tcp db1
Pada Ouput diatas dapat kita lihat bahwa semua Container Docker berjalan dengan baik.
Langkah 4 – Masuk to Database (Multiple Version MySQL)
Jika Anda telah berhasil melakukan Install Docker Compse, Setup Multiple Version MySQL, sekarang kita coba untuk masuk ke dalam Database yang telah kita install. Untuk masuk ke dalam Database Multi Version MySQL gunakan perintah berikut ini.
Database 1 – MariaDB
Database 1 kita menggunakan MariaDB, berikut commad untuk masuk ke MariaDB
docker exec -it db1 bash
setalah masuk ke Container ketik perintah mysql -u root-p dan isikan password yang telah di Setup pada Docker Compose
mysql -u root -p
Output
mysql -u root -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 4
Server version: 10.1.48-MariaDB-1~bionic mariadb.org binary distribution
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]>
Database 2 – MySQL 5.7
Untuk Database ke -2 kita menggunakan MySQL Version 5.7, ikutin Commnad berikut untuk masuk ke dalam database
docker exec -it db2 bash
Setelah menggunakan perintah tersebut kita akan masuk ke dalam Container DB2, gunakan Command ini untuk masuk ke dalam database
mysql -u root -p
Isikan Password root dan Anda akan masuk ke dalam Database MySQL 5.7, berikut Output jika berhasil
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.7.37 MySQL Community Server (GPL)
Copyright (c) 2000, 2022, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
Database 3 – MySQL 8.0
Untuk Database ke -3 kita menggunakan MySQL Version 8.0, ikutin Commnad berikut untuk masuk ke dalam database
docker exec -it db3 bash
Sama halnya dengan cara sebelumnya.
mysql -u root -p
Isikan Password root dan Anda akan masuk ke dalam Database MySQL 8.0, berikut Output jika berhasil
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 10
Server version: 8.0.28 MySQL Community Server - GPL
Copyright (c) 2000, 2022, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>

Sekitan Dokumentasi Untuk melakukan Installasi MySQL Server didalam Satu server yang sama. Kami menggunakan Docker. MySQL yang kami gunakan yaitu MariaDB, MySQL 5.7 dan MySQL Version 8. Mohon maaf jika ada kesalahan. Mohon kritik dan saran untuk mengembangkan Website Dokumentasi ini.