Multiple-MySQL-Version

Multiple Version MySQL Same Server

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.

Multiple Version MySQL

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
DomaiNesia

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.

www.domainesia.com

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>
Cloud Hosting Indonesia

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.