MySQL adalah perangkat lunak bebas dan open source di bawah ketentuan GNU General Public License, dan juga tersedia di bawah berbagai lisensi kepemilikan. MySQL dimiliki dan disponsori oleh perusahaan Swedia MySQL AB, yang dibeli oleh Sun Microsystems (sekarang Oracle Corporation). Pada 2010, ketika Oracle mengakuisisi Sun, Widenius melakukan forked proyek MySQL open-source untuk membuat MariaDB.

MySQL terkenal akan kecepatan, mudah digunakan, scalable, dan merupakan bagian integral dariLAMP stack dan LEMP stacks yang populer.

Dalam tutorial ini, kami akan menunjukkan kepada Anda bagaimana menginstal dan mengamankan MySQL pada mesin Ubuntu 18.04.

Persiapan

Pastikan Anda masuk sebagai pengguna dengan hak istimewa sudo.

Instal MySQL di Ubuntu

Pada saat penulisan artikel ini, versi terbaru MySQL yang tersedia dari repositori resmi Ubuntu adalah MySQL versi 5.7.

Untuk menginstal MySQL di server Ubuntu Anda, ikuti langkah-langkah di bawah ini:

  1. Pertama, perbarui indeks paket apt dengan mengetik:
    sudo apt update
  2. Kemudian instal paket MySQL dengan perintah berikut:
    sudo apt install mysql-server
  3. Setelah instalasi selesai, layanan MySQL akan mulai secara otomatis. Untuk memeriksa apakah server MySQL sedang berjalan, ketik:
    sudo systemctl status mysql
    ● mysql.service - MySQL Community Server
       Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
       Active: active (running) since Wed 2018-06-20 1123 PDT; 5min ago
     Main PID: 17382 (mysqld)
        Tasks: 27 (limit: 2321)
       CGroup: /system.slice/mysql.service
               `-17382 /usr/sbin/mysqld --daemonize --pid-file=/run/mysqld/mysqld.pid

Mengamankan MySQL

Paket server MySQL dilengkapi dengan skrip bernama mysql_secure_installation yang dapat melakukan beberapa operasi terkait keamanan.

Jalankan skrip dengan mengetik:

sudo mysql_secure_installation

Anda akan diminta untuk mengkonfigurasi VALIDATE PASSWORD PLUGIN yang digunakan untuk menguji kekuatan kata sandi pengguna MySQL untuk meningkatkan keamanan. Ada tiga tingkat kebijakan validasi kata sandi, rendah, sedang dan kuat. Tekan ENTER jika Anda tidak ingin mengatur plugin validate password plugin.

Pada prompt berikutnya, Anda akan diminta untuk mengatur kata sandi untuk pengguna root MySQL. Setelah Anda melakukannya, skrip juga akan meminta Anda untuk menghapus pengguna anonim, membatasi akses pengguna root ke mesin lokal dan menghapus database pengujian. Anda harus menjawab “Y” (yes) untuk semua pertanyaan.

Login sebagai root

Untuk berinteraksi dengan server MySQL dari baris perintah, Anda dapat menggunakan utilitas klien MySQL yang diinstal sebagai dependensi dari paket MySQL server .

Dalam sistem Ubuntu yang menjalankan MySQL 5.7 (dan yang lebih baru), pengguna root diautentikasi oleh plugin auth_socket secara default.

Plugin auth_socket secara otomatis akan mengotentikasi pengguna yang terhubung dari localhost melalui file socket Unix. Jika Anda masuk sebagai pengguna root melalui koneksi localhost, Anda tidak perlu memasukkan password lagi.

Untuk masuk ke server MySQL sebagai tipe pengguna root:

sudo mysql

Anda akan disajikan dengan shell MySQL seperti yang ditunjukkan di bawah ini :

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 5.7.22-0ubuntu18.04.1 (Ubuntu)

Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.

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.

Jika Anda ingin masuk ke MySQL server sebagai root dari program eksternal seperti phpMyAdmin Anda memiliki dua opsi.

Yang pertama adalah mengubah metode otentikasi dari auth_socket ke mysql_native_password. Anda dapat melakukannya dengan menjalankan perintah berikut:

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

FLUSH PRIVILEGES;

Opsi kedua, yang disarankan adalah membuat pengguna administratif baru dengan akses ke semua database:

GRANT ALL PRIVILEGES ON *.* TO 'administrator'@'localhost' IDENTIFIED BY 'ganti_dengan_password';

Kesimpulan

Sekarang MySQL server Anda sudah berjalan dan mengetahui cara terhubung ke MySQL server dari baris perintah, Anda mungkin ingin memeriksa panduan berikut:

Jika Anda lebih suka antarmuka web daripada baris perintah, Anda dapat menginstal phpMyAdmin dan mengelola database dan pengguna MySQL. Jika ingin paket lengkap, Anda dapat menggunakan webmin agar lebih mudah dalam mengelola server.