lifelong learner — urip iku urup, currently working on accenture.

Cara Install Mysql pada Ubuntu Server 18.04 LTS

1
Degananda.com -

mysql_logo

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.

cek_versi_ubuntu_lsb_release-a.jpg
cara cek versi ubuntu server dengan lsb_release -a

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 :

  1. pembuatan user
  2. konfigurasi username dan password untuk user mysql tersebut
  3. 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

mysql_secure_installation_perintah_dijalankan.jpg
beberapa opsi konfigurasi yang dapat diatur pada mysql_secure_installation
  • 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
versi_mysql.jpg
cek versi mysql dengan perintah mysql.

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.

default_mysql_database.jpg
empat database default yang secara otomatis terbuat.
SELECT user,authentication_string,plugin,host FROM mysql.user

SQL query diatas akan memberikan informasi lengkap mengenai nama user dan jenis autentikasinnya.

jenis_autentikasi_user.jpg

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

mysql_root_mysql_native_password.jpg

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.

kondisi_mysql.jpg
cek kondisi mysql

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.mysql_login_dengan_password.jpg

 

 

 

(Visited 64 times, 1 visits today)

Leave a Reply