One Stop Informasi Tekno dan Bisnis

Cara Install MySQL pada Ubuntu 18.04

gambar

Pengenalan

MySQL adalah sistem manajemen database open-source, yang biasa diinstall bersamaan dengan beberapa software lain dan biasa disebut LAMP stack (Linux, Apache, MySQL, PHP/Python/Perl). MySQL merupakan database relasional dan menggunakan SQL (Structured Query Language) untuk mengelola data didalamnya.

Secara singkat, proses penginstalannya sangatlah sederhana:

  • mengupdate apt
  • menginstall mysql-server
  • menjalankan script untuk keamanan mysql
sudo apt update
sudo apt install mysql-server
sudo mysql_secure_installation

Tutorial kali ini akan menjelaskan bagaimana cara menginstall MySQL versi 5.7 pada server Ubuntu 18.04. Nah, jika Anda mencari cara untuk mengupgrade MySQL saat ini ke MySQL 5.7 Anda dapat membaca artikel ini

Persyaratan

Untuk mengikuti tutorial kali ini, Anda membutuhkan:

  • Satu server Ubuntu 18.04

Step 1 - Menginstall MySQL

Pada Ubuntu 18.04, secara default hanya versi MySQL terakhir yang masuk ke package repository. Pada saat artikel ini ditulis, versinya adalah 5.7.

Untuk menginstallnya, update terlebih dahulu package index menggunakan apt:

sudo apt update

Kemudian install package:

sudo apt install mysql-server

Sampai disini MySQL telah terinstall, namun kondisinya masih kurang aman. Secara default memang seperti itu. Untuk mengamankannya ikuti step berikutnya.

Step 2 - Meng-konfigusari MySQL

Untuk instalasi baru, Anda memang harus menjalankan script security yang sudah include saat melakukan penginstalan. Hal ini akan merubah beberapa opsi yang kurang aman, seperti login root secara remote, dll.

Jalankan script securitynya seperti berikut:

sudo mysql_secure_installation

Selanjutnya Anda akan dihadapkan dengan berbagai pertanyaan untuk mengubah berbagai hal mengenai MySQL Anda.

Pertama Anda akan ditanyai apakah akan mensetup plugin Validasi Password. Gunanya untuk memvalidasi password-password yang lemah. Kemudian Anda akan diminta mensetup password untuk user root.

Untuk selanjutnya Anda hanya perlu mengisi y lalu Enter untuk menyetujui semua saran keamanan. Hal ini termasuk mengapus akses user anonim dan mendisable login root secara remote.

Step 3 - (Opsional) Mensetting user dan hak akses

Pada sistem ubuntu, user root pada MySQL diset secara default menggunakan plugin auth_socket dan bukan menggunakan password. Memang lebih aman, akan tetapi hal ini membuat program semacam phpMyAdmin tidak bisa mengakses database dengan user root tersebut.

Untuk mengaktifkan login dengan password, Anda harus mengubah metode auth-nya dari auth_socket menjadi mysql_native_password. Untuk melakukannya, pertama Anda buka MySQLnya dari server:

sudo mysql

Kemudian cek metode auth untuk masing-masing user MySQL:

SELECT user,authentication_string,plugin,host FROM mysql.user;

Outputnya kurang lebih seperti ini:

+------------------+-------------------------------------------+-----------------------+-----------+
| user             | authentication_string                     | plugin                | host      |
+------------------+-------------------------------------------+-----------------------+-----------+
| root             |                                           | auth_socket           | localhost |
| mysql.session    | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| mysql.sys        | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| debian-sys-maint | *CC744277A401A7D25BE1CA89AFF17BF607F876FF | mysql_native_password | localhost |
+------------------+-------------------------------------------+-----------------------+-----------+
4 rows in set (0.00 sec)

Untuk mengubah user root agar dapat melakukan login dengan password, Anda harus menjalankan command ALTER USER. Pastikan gunakan password yang kuat, mengingat akun yang akan Anda ubah adalah akun root.

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

Kemudian jalankan command FLUSH PRIVILEGES untuk memberitahu server agar merefresh hak akses sehingga perubahan yang tadi dijalankan bisa bekerja.

FLUSH PRIVILEGES;

K=Cek kembali apakah masih mengguanakan plugin auth_socket atau sudah berganti menjadi mysql_native_password:

SELECT user,authentication_string,plugin,host FROM mysql.user;

Outputnya:

+------------------+-------------------------------------------+-----------------------+-----------+
| user             | authentication_string                     | plugin                | host      |
+------------------+-------------------------------------------+-----------------------+-----------+
| root             | *3636DACC8616D997782ADD0839F92C1571D6D78F | mysql_native_password | localhost |
| mysql.session    | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| mysql.sys        | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| debian-sys-maint | *CC744277A401A7D25BE1CA89AFF17BF607F876FF | mysql_native_password | localhost |
+------------------+-------------------------------------------+-----------------------+-----------+
4 rows in set (0.00 sec)

Jika sudah selesai Anda bisa keluar dari mysql dengan command exit.

exit

Pengetesan

Untuk mengetes apakah user root sudah dapat login dengan password, Anda bisa melakukannya di phpMyAdmin. Atau bisa juga menggunakan software MySQL client seperti DBeaver, Mysql workbench, dll.

Semoga bermanfaat.

Tidak ada komentar:

Posting Komentar