MySQL adalah database relasional (RDBMS, relational database management system) yang sangat populer di internet karena biasannya terbungkus pada stack server LAMP (Linux, Apaache, Mysql dan Php/Perl/Python).
Kekuatan MySQL terletak pada kapabilitas relasional database dan SQL (Structured language query) yang sangat baik dalam mengelaola serta menghasilkan data dengan integritas dan konsistensi tinggi.
Namun tidak selamannya mysql dipasangkan dengan ketiga pemrograman tersebut. Saat ini, dengan maraknya nodejs ataupun GO maka Mysql dapat menjadi pilihan untuk jenis database yang akan digunakan (tergantung dari kebutuhan bisnis dan skenario).
Cara Install Mysql pada Ubuntu Server LTS
Persiapan sebelum installasi MYSQL
versi ubuntu yang digunakan pada ulasan ini adalah ubuntu server bionic 18.04 LTS. Perintah yang digunakan bisa jadi berbeda pada versi ubuntu server lainnya.

Untuk memastikan versi ubuntu dapat menggunakan perintah dibawah ini
lsb_release -a
Install mysql pada ubuntu server 18.04 LTS
Secara default, versi mysql yang terinstall pada APT(advanced packaging tool) repository ubuntu server 18.04 adalah versi yang terbaru. Sehingga, versi yang akan terinstall tergantung pada saat perintah tersebut dijalankan.
Langkah 1 – Install Mysql
update APT package index pada versi terbaru. Proses ini akan tergantung dengan koneksi internet yang dimiliki oleh server.
sudo apt update
Kemudian, setelah index pada APT memiliki versi yang paling terbaru, lakukan installasi pada paket mysql-server (nama program mysql pada APT)
sudo apt install mysql-server
Seperti pada apt update, proses ini akan tergantung pada kecepatan internet yang dimiliki oleh server. Jika dimintai konfirmasi untuk penggunaan space maka pilih atau ketik “Y” (yes) agar proses installasi dapat dilakukan.
Perlu di ingat bahwa, meski mysql telah berhasil terinstall dalam step pertama, bukan berarti proses telah selesai. Karena sampai tahap ini, mysql yang terinstall belum dilengkapi dengan password.
Langkah 2 – Konfigurasi Mysql
Langkah selanjutnya adalah melakukan konfigurasi pada mysql yang telah terinstall. konfigurasi ini akan mencakup pada :
- pembuatan user
- konfigurasi username dan password untuk user mysql tersebut
- konfigurasi remote login (enable ataupun disable).
lakukan konfigurasi sesuai dengan kebutuhan bisnis dan skenario yang akan dijalankan.
jalankan perintah dibawah ini untuk mulai melakukan konfigurasi mysql.
sudo mysql_secure_installation
berikut adalah beberapa opsi yang dapat dipilih saat perintah mysql_secure_installation dijalankan

- Would you like to setup VALIDATE PASSWORD plugin?
[yes] sistem akan melakukan valiasi kekuatan password. terdapat tiga pilihan kekuatan password [0] low [1]medium [2] strong. disarankan untuk memilih strong agar password yang digunakan untuk akun root sangatlah kuat dan tidak mudah untuk di bobol. - Remove anonymous users?
[yes] secara default, terdapat sebuah user yang dapat masuk tanpa menggunakan user yang terdaftar pada mysql. Biasannya ini hanya digunakan untuk kebutuhan testing. Disaranakn untuk memilih “yes” yang mana akan menghilangkan anonymous user ini - Remove test database and access to it?
[yes] secara default, mysql memiliki test database. Jika yes di pilih maka test database ini akan hilang. Disaranakan untuk memilih yes karena database test ini tidak dibutuhkan. - Disallow root login remotely?
[yes] jika yes di pilih maka kita tidak akan dapat mengakses mysql secara remote contohnya dengan menggunakan mysql workbench. Sehingga, hanya terdapat satu cara untuk masuk kedalam database yakni dengan login ke dalam server ubuntu. Sesuaikan dengan kebutuhan bisnis dan skenario. - Reloading the privilege tables will ensure that all changes
[yes] apabila yes dipilih, maka semua perubahan yang dilakukan (mulai dari validate password plugin -> hingga disable root login remotely) akan diberlakukan saat itu juga. Disarankan langsung memilih yes.
jika ada konfigurasi yang terlewat dapat menjalankan perintah yang sama untuk mengulangi proses konfigurasi.
Langkah 3 -Inisiasi Mysql Data Direktori
mysql data direktori adalah direktori yang dikhususkan untuk menyimpan file-file yang dibutuhkan oleh mysql. Secara default, lokasi direktori tersebut adalah pada
/var/lib/mysql
perintah yang digunakan untuk melakukan inisiasi mysql data direktori adalah
jika versi mysql < 5.7.6
mysql_install_db
jika versi mysql >= 5.7.6
mysqld --initialize

untuk cek veris mysql dapat menggunakan peritah dibawah
sudo mysql
kemudian pada konsol akan terlihat versi mysql yang terinstall
Langkah 4 – Konfigurasi autentikasi dan privilages user
langkah ke empat diperlukan agar dapat memastikan bahwa proses autentikasi user selalu membutuhkan password.
masuk pada konsol mysql dengan perintah
sudo mysql
kemudian cek jenis metode autentikasi yang digunakan pada setiap user dengan menjalankan perintah sql query pada database mysql (secara default, akan terdapat database mysql yang menyimpan semua konfigurasi) dibawah ini pada konsol mysql.

SELECT user,authentication_string,plugin,host FROM mysql.user
SQL query diatas akan memberikan informasi lengkap mengenai nama user dan jenis autentikasinnya.
sebagai contoh, user root yang baru saja dibuat pada proses mysql_secure_installation memilikin jenis autentikasi “auth_socket” artinnya root hanya dapat digunakan melalui konsol.
Tujuan dari proses ini adalah untuk mengganti jenis autentikasi menjadi “password” (mysql_native_password) agar user ini dapat digunakan pada aplikasi lain ataupun untuk keperluan remote (misalnya dengan mysql workbench).
Proses penggantian jenis autentikasi ini dapat dilakukan dengan melakukan update pada tabel mysql.user tersebut. Perahatikan password yang akan digunakan di query (bold) dibawah ini. Ganti dengan password yang di inginkan.
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '[password_yang_akan_diset]';
untuk mengaplikasikan perubahan privilages pada tabel mysql.user maka jalankan perintah dibawah ini
FLUSH PRIVILEGES;
untuk memastikan bahwa jenis autentikasi telah berhasil diganti menjadi mysql_native_password maka jalankan kembali sql query dibawah ini
SELECT user,authentication_string,plugin,host FROM mysql.user
maka saat ini akan terlihat bahwa user root akan memiliki jenis autentikasi : mysql_native_password
jangan gunakan user root pada aplikasi. Disarankan untuk membuat user baru agar mengurangi resiko kemananan.
Langkah 5 – Memastikan konfigurasi sistem dan autentikasi mysql berhasil
proses terahir yang juga sangat penting ini adalah verifikasi atas segala konfigurasi mysql yang dilakukan dari langkah pertama hingga kelima.
verifiaksi 1 – verifikasi mysql telah berjalan dengan baik
jalan perintah dibawah ini untuk cek status mysql (apakah berjalan atau tidak).
jalankan proses verifikasi ini diluar konsol mysql. Tulis “exit” pada konsol mysql untuk kembali ke konsol ubuntu/server.
systemctl status mysql.service
pastikan pada konsol nilai parameter status adalah aktif yang mengidikasikan bahwa mysql tersebut berjalan dengan semestinnya.

jika ternyata mysql tidak berjalan (status tidak active (running)) maka jalankan perintah ini untuk menjalankan mysql.
sudo systemctl start mysql.
verifikasi 2 – verifikasi metode autentikasi mysql_native_password
verifikasi ini bertujuan untuk memastikan bahwa perubahan konfigurasi autentikasi user root yang sebelumnya adalah auth socket dan diubah menjadi mysql_native_password. Jalankan perintah dibawah ini
sudo mysqladmin -p -u root
kemudian masukan password dari user root tersebut.
[…] Cara Install Mysql pada Ubuntu Server 18.04 LTS […]