Traffine I/O

Bahasa Indonesia

2023-04-07

Membangun Lingkungan MySQL dengan Docker

Membangun Lingkungan MySQL 8.0 dengan Docker

Artikel ini akan memandu Anda melalui proses membuat lingkungan MySQL 8.0 menggunakan Docker. MySQL adalah salah satu sistem manajemen database relasional open-source yang paling populer. Dengan menggunakan Docker, kita dapat dengan cepat mengatur server MySQL untuk tujuan pengembangan atau pengujian tanpa perlu melalui proses panjang instalasi dan konfigurasi manual server MySQL di sistem operasi host.

Mengatur docker-compose.yml

Untuk membuat sebuah kontainer server MySQL, pertama kita akan membuat file docker-compose.yml. File ini akan berisi konfigurasi yang diperlukan untuk menarik gambar MySQL dari Docker Hub, membuat kontainer MySQL baru, dan mengatur variabel lingkungan yang diperlukan.

Berikut adalah file docker-compose.yml:

docker-compose.yml
version: '3.9'

services:
  mysql:
    image: mysql:8.0.28
    platform: linux/amd64
    container_name: mysql-container
    ports:
      - '3306:3306'
    environment:
      MYSQL_ROOT_PASSWORD: root
      MYSQL_DATABASE: demo
      TZ: 'Asia/Tokyo'

Memulai Kontainer MySQL

Setelah file docker-compose.yml sudah diatur, kita dapat memulai kontainer server MySQL kita. Docker Compose memungkinkan kita mengelola layanan aplikasi kita hanya dengan satu perintah. Di terminal, navigasikan ke direktori tempat file docker-compose.yml Anda berada, kemudian jalankan perintah berikut:

bash
$ docker compose up -d

Untuk memastikan bahwa kontainer server MySQL kita sudah berjalan, kita dapat menggunakan perintah docker ps. Perintah ini akan menampilkan daftar kontainer Docker yang sedang berjalan. Berikut adalah perintah dan hasil yang diharapkan:

bash
$ docker ps

CONTAINER ID   IMAGE          COMMAND                  CREATED          STATUS          PORTS                               NAMES
baf6d46af198   mysql:8.0.28   "docker-entrypoint.s…"   26 seconds ago   Up 24 seconds   0.0.0.0:3306->3306/tcp, 33060/tcp   mysql-container

Setelah memastikan bahwa kontainer MySQL berjalan, Anda dapat mengakses shell kontainer MySQL dengan menggunakan perintah docker exec:

bash
$ docker exec -it mysql-container

root@baf6d46af198:/#

Sekarang kita berada di dalam kontainer MySQL, kita dapat terhubung ke server MySQL dengan menggunakan MySQL client CLI. Untuk terhubung sebagai pengguna root, gunakan perintah berikut:

bash
root@baf6d46af198:/# mysql -u root -p

Enter password: root
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 9
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>

Mengoperasikan MySQL

Setelah terhubung ke server MySQL, Anda dapat memeriksa database yang tersedia dengan menggunakan perintah show databases;:

bash
mysql> show databases;

+--------------------+
| Database           |
+--------------------+
| demo               |
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
5 rows in set (0.11 sec)

Untuk melakukan operasi pada database demo, Anda perlu memilihnya terlebih dahulu dengan menggunakan perintah use:

bash
mysql> use demo

Database changed

Anda dapat memastikan database mana yang saat ini dipilih dengan menggunakan perintah select database();:

bash
mysql> select database();

+------------+
| database() |
+------------+
| demo       |
+------------+
1 row in set (0.00 sec)

Setelah database demo dipilih, Anda dapat melakukan berbagai operasi database seperti membuat tabel, memasukkan data, dan mengambil data. Berikut adalah contoh pembuatan tabel, memasukkan data ke dalamnya, dan kemudian mengambil data tersebut:

bash
mysql> create table test(id int, name varchar(10));

Query OK, 0 rows affected (0.13 sec)
bash
mysql> insert into test(id, name) values (1,"john");

Query OK, 1 row affected (0.10 sec)
bash
mysql> select * from test;

+------+--------+
| id   | name   |
+------+--------+
|    1 | john   |
+------+--------+
1 row in set (0.04 sec)

Pembersihan

Setelah selesai melakukan operasi, disarankan untuk mengakhiri koneksi MySQL:

bash
mysql> exit

Bye

Perintah ini akan keluar dari server MySQL.

Setelah keluar dari koneksi MySQL, Anda akan kembali ke shell kontainer Docker. Anda juga dapat keluar dari kontainer Docker:

bash
root@baf6d46af198:/# exit

exit

Untuk memastikan tidak ada resource yang tidak perlu digunakan, sebaiknya menghentikan dan menghapus kontainer Docker setelah selesai menggunakannya. Gunakan perintah berikut untuk menghentikan dan menghapus kontainer Docker:

bash
$ docker compose down

[+] Running 2/2
 ⠿ Container mysql-container  Removed                    2.8s
 ⠿ Network my_proj_default    Removed

Ryusei Kakujo

researchgatelinkedingithub

Focusing on data science for mobility

Bench Press 100kg!