
Table of Contents
MySQL adalah sebuah sistem manajemen basis data (DBMS) open-source yang sangat populer. Sistem ini menggunakan bahasa SQL (Structured Query Language) untuk mengelola dan mengakses data.
Mengapa MySQL?
- Open Source: Dapat digunakan secara gratis
- Performa Tinggi: Mampu menangani data dalam jumlah besar
- Mudah Digunakan: Memiliki dokumentasi lengkap dan komunitas yang besar
- Kompabilitas: Mendukung berbagai platform dan bahasa pemrograman
- Keamanan: Dilengkapi fitur keamanan yang kuat
Kegunaan MySQL
MySQL umumnya digunakan untuk:
- Aplikasi web
- Sistem manajemen konten (CMS)
- Penyimpanan data perusahaan
- Aplikasi e-commerce
- Sistem informasi
MySQL merupakan pilihan populer di kalangan developer karena kemudahan penggunaan dan dukungan yang luas dari komunitas.
Sebelum memulai, siapkan dulu server yang kamu miliki. Pada kali ini, saya akan menggunakan Debian 12 untuk memulai.
Menambahkan Repository MySQL
Untuk menambahkan repositori MySQL APT ke sistem, buka halaman unduhan repositori dan unduh paket terbaru menggunakan CURL:
curl -O https://dev.mysql.com/get/mysql-apt-config_0.8.33-1_all.deb
Jika sudah selesai, jalankan perintah berikut untuk memulai installasi MySQL
sudo dpkg -i mysql-apt-config*
Selama proses installasi, kamu akan disajikan layar berupa informasi MySQL versi berapa yang akan di install nantinya, secara default, sistem akan menginstall versi stabil. Jika sudah merasa cocok maka pilih opsi OK
Install MySQL
Perbarui daftar paket dengan menjalankan:
sudo apt update -y
Jika sudah selesai maka jalankan perintah ini untuk menginstall MySQL:
sudo apt install mysql-server
Pada proses installasi, kamu akan diminta untuk mengatur password root, Pilih dan atur password sesuai dengan keinginanmu. Selanjutnya akan muncul perintah yang meminta untuk memilih plugin otentikasi default, pilih Use Strong Password Encryption agar aman.
Setelah selesai, MySQL biasanya akan dimulai secara otomatis, kamu dapat melihatnya di:
sudo systemctl status mysql
Output:
● mysql.service - MySQL Community Server Loaded: loaded (/lib/systemd/system/mysql.service; enabled; preset: enabled) Active: active (running) since Wed 2024-12-04 02:00:07 UTC; 34min ago Docs: man:mysqld(8) http://dev.mysql.com/doc/refman/en/using-systemd.html Main PID: 156289 (mysqld) Status: "Server is operational" Tasks: 35 (limit: 28850) Memory: 475.4M CPU: 30.296s CGroup: /system.slice/mysql.service └─156289 /usr/sbin/mysqld
Dec 04 02:00:01 hisoka.net systemd[1]: Starting mysql.service - MySQL Community Server...Dec 04 02:00:07 hisoka.net systemd[1]: Started mysql.service - MySQL Community Server.
Amankan MySQL
Setelah proses installasi selesai, kamu perlu mengamankan MySQL menggunakan mysql_secure_installation. Tool ini akan membantu meningkatkan keamanan server MySQL dengan beberapa pengaturan dasar.
Jalankan perintah berikut:
sudo mysql_secure_installation
Proses ini akan meminta kamu untuk:
- Mengatur kompleksitas password (VALIDATE PASSWORD COMPONENT)
- Menghapus pengguna anonymous
- Menonaktifkan login root dari jarak jauh
- Menghapus database test
- Memuat ulang hak akses
Jawab ‘Y’ (yes) untuk semua pertanyaan untuk keamanan maksimal.
Setelah selesai, kamu bisa login ke MySQL menggunakan:
mysql -u root -p
MySQL kamu sekarang sudah terinstall dan aman untuk digunakan.
Testing MySQL
Untuk berinteraksi dengan MySQL melalui terminal, gunakan klien yang diinstal sebagai dependensi dari paket server MySQL.mysql
Jika kamu memilih metode otentikasi default untuk masuk ke server MySQL sebagai jenis pengguna root:
sudo mysql
Atau gunakan metode otentikasi lama:
sudo mysql -u root -p
Kamu akan dimintai untuk memasukkan password root yang sebelumnya sudah diatur. Output:
Welcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 19Server version: 8.4.3 MySQL Community Server - GPL
Copyright (c) 2000, 2024, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>