![Cara Install MYSQL 8 di Ubuntu](https://www.kbtegno.com/wp-content/uploads/2021/10/Cara-Install-MYSQL-8-di-Ubuntu-20.04-780x400.webp)
Cara Install MYSQL 8 di Ubuntu – MySQL merupakan Database Management System yang menggunakan perintah dari SQL. Aplikasi ini free, sehingga siapapun dapat melakukan instalasi dan menggunakannya. Selain itu mysql juga sangat populer sehingga akan lebih mudah digunakan diberbagai layanan hosting khususnya.
Bagi Anda yang saat ini mengelola server atau VPS, mungkin akan membutuhkan MySQL untuk pengelolaan database. Secara umum MySQL akan berjalan dengan apache/nginx, PHP/Python/Perl. Selain menggunakan MySQL, Anda juga dapat menggunakan MariaDB. MariaDB merupakan pengembangan dari MySQL, Sehingga cara instalasi dan konfigurasinya tidak akan jauh berbeda dari MySQL.
Sebelumnya saya juga sudah membahas tentang bagaimana cara mengelola VPS tanpa panel, teknologi yang digunakan pada panduan tersebut adalah Apache, PHP dan MariaDB. Silakan Anda kunjungi link tersebut bila ingin mengetahui lebih lanjut cara mengelola VPS tanpa panel.
Cara Install MYSQL 8 di Ubuntu 20.04
Dalam panduan install mysql 8 di ubuntu ini, saya akan menggunakan spesifikasi berikut ini :
Sistem Operasi : Ubuntu 20.04
Database : MySQL 8
Web Server : Apache
Lainnya: PHP 8
Apabila Anda menggunakan versi linux ubuntu 14, 16 atau 18 mungkin akan membutuhkan penyesuaian.
1. Update Repositori Ubuntu
Sama seperti instalasi service sebelumnya, Anda juga perlu melakukan update package atau repositori yang ada pada sistem operasi ubuntu saat ini.
Cukup ketikan command dibawah di terminal SSH.
sudo apt update
2. Instalasi MySQL
Perintah dibawah ini tidak akan memaksa Anda untuk melakukan konfigurasi password atau perubahan konfigurasi lainnya. Jika menggunakan konfigurasi default, akan membuat MySQL kurang aman. Sehingga nantinya kita akan menjalankan perintah dengan keamanan yang baik untuk membatasi akses ke server ataupun menghapus user/akun yang tidak digunakan.
sudo apt install mysql-server
Saat ada notif “do you want to continue” maka silakan Anda ketikan saja Y.
Saat ini MySQL sudah terinstall pada server Anda. Namun belum selesai sampai disini saja, karena kita akan menambahkan script keamanan pada MySQL.
3. Konfigurasi Keamanan MySQL
Selanjutnya melakukan konfigurasi keamanan pada mysql. Dengan menjalankan perintah dibawah, maka akan mengubah beberapa pengaturan default dari mysql yang kurang aman.
Silakan jalankan perintah dibwah ini untuk memulai melakukan kofigurasi mySQL.
sudo mysql_secure_installation
Saat pertama kali, Anda perlu melakukan konfigurasi plugin validasi kata sandi. Fungsi dari plugin ini adalah memvalidasi bahwa kata sandi sesuai dengan kebijakan yang telah di atur.
Pilihlah kebijakan kata sandi terkuat, misal pada panduan ini saya akan mengetikan angka 2 dan tekan ENTER. Kata sandi yang memiliki panjang setidaknya 8 karakter dan menyertakan campuran huruf besar, huruf kecil, angka, serta karakter khusus.
Langkah selanjutnya menetapkan kata sandi pada root MySQL. Silakan masukan kata sandi yang aman sesuai dengan kriteria sebelumnya. Pastikan juga tidak menggunakan password yang sama antara password root VPS dengan root MySQL.
Meskipun sudah menetapkan kata sandi untuk root MySQL, user root tidak akan dikonfigurasi untuk mengautentikasi dengan kata sandi yang terhubung ke prompt MySQL.
Saat melakukan konfigurasi kata sandi, Anda akan mendapatkan sebuah pesan mengenai kekuatan dari kata sandi yang Anda digunakan. Apabila Anda sudah yakin dengan kata sandi tersebut, maka ketikan Y dan tekan ENTER.
Selanjutnya Anda hanya perlu tekan Y dan ENTER saja. Proses tersebut akan menghapus beberapa pengguna anonim dan pengujian database, menonaktifkan login root jarak jauh, dan memuat aturan baru sehingga MySQL segera menghargai perubahan yang telah Anda buat.
Saat ini konfigurasi MySQL telah selesai, Anda sudah dapat menggunakan database.
4. Membuat User MySQL Baru
Seanjutnya Anda bisa membuat user database baru. User ini akan memiliki akses penuh sama seperti halnya root. Jadi artinya user memiliki kontrol penuh atas setiap database, tabel, pengguna, dan sebagainya.
Khusus MySQL 5.7 keatas, user root MySQL secara default diatur untuk autentikasi menggunakan auth_socket plugin bukan menggunakan password. Plugin ini mengharuskan user sistem operasi yang memanggil klien MySQL cocok dengan user MySQL yang ditentukan dalam perintah, jadi Anda harus memanggil mysql dengan sudo privileges untuk mendapatkan akses ke user root MySQL.
sudo mysql
Misalnya Anda sudah melakukan instalasi menggunakan cara lain dan user root MySQL sudah di konfigurasi menggunakan password. Maka Anda perlu menggunakan perintah yang berbeda untuk akses ke prompt MySQL. Ini juga perintah yang digunakan untuk user biasa. Anda hanya perlu mengubah root menggunakan nama user MySQL.
Pada panduan ini saya tidak melakukan konfigurasi password root, sehingga menggunakan command diatas.
mysql -u root -p
Setelah berada pada prompt MySQL, Anda dapat membuat pengguna baru dengan sebuah perintah CREATE USER. Anda dapat membuat autentikasi login dengan 2 pilihan yaitu menggunakan caching_sha2_password dan mysql_native_password. auth_socket plugin memiliki keamanan yang lebih kuat tanpa mengharuskan pengguna yang sah untuk memasukkan password untuk mengakses database. Tetapi juga mencegah koneksi jarak jauh, yang dapat memperumit masalah ketika program eksternal perlu berinteraksi dengan MySQL.
Anda dapat menjalankan perintah berikut untuk menggunakan caching_sha2_password. Ubah username dan password sesuai dengan kebutuhan.
CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
Note : bila menggunakan caching_sha2_password biasanya ada beberapa versi PHP yang tidak support, contoh saja dalam penggunakan aplikasi seperti phpMyadmin. Untuk mengatasinya Anda dapat menggunakan metode autentikasi yang lebih lama dengan mysql_native_password.
Jalankan perintah berikut jika menggunakan autentikasi mysql_native_password.
CREATE USER 'username'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
Apabila sudah terlanjur menggunakan caching_sha2_password dan ingin mengubahnya jadi mysql_native_password maka bisa menjalankan perintah ALTER.
ALTER USER 'username'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
5. Membuat Privileges User
Langkah terakhir adalah memberikan privileges pada user yang sebelumnya telah dibuat. Privileges tersebut diantaranya CREATE, ALTER, DROP, INSERT, UPDATE, DELETE dan lain sebagainya. Pastikan, Anda hanya memberikan pengguna izin yang mereka butuhkan, jadi silakan sesuaikan hak istimewa pengguna Anda jika perlu. Privileges bisa Anda cek pada doc mysql berikut MySQL Privileges.
Contohnya seperti dibawah ini :
GRANT CREATE, ALTER, DROP, INSERT, UPDATE, DELETE, SELECT, REFERENCES, RELOAD on *.* TO 'username'@'localhost' WITH GRANT OPTION;
Pada panduan ini saya akan membuat user dengan hak akses seperti root. Hal tersebut karena sebelumnya saya tidak melakukan konfigurasi password root MySQL. Perintahnya berikut jika ingin memberikan hak akses (privileges) secara penuh.
GRANT ALL PRIVILEGES ON *.* TO 'username'@'localhost' WITH GRANT OPTION;
INGAT ! ! ! Hak istimewa yang luas seperti diatas tidak boleh diberikan dengan mudah, karena siapa pun yang memiliki akses ke pengguna MySQL ini akan memiliki kendali penuh setiap database di server.
Pengecekan privileges dapat dengan perintah dibawah :
SHOW GRANTS FOR 'username'@'host';
Setelah membuat user dengan privileges. Proses selanjutnya Anda dapat FLUSH PRIVILEGES; dan exit;. Perintah Ini akan mengosongkan memori apa pun yang di-cache server sebagai akibat dari perintah sebelumnya.
FLUSH PRIVILEGES;
exit;
Saat ini Anda sudah berhasil instalasi mysql 8 di ubuntu 20.04. Sebelum mencoba menjalankan database sebaiknya melakukan pengecekan service MySQL apakah sudah bekerja dengan baik dengan perintah dibawah ini.
systemctl status mysql.service
6. Testing MySQL Database
Kita akan melakukan pengecekan apakah instalasi MySQL dapat bekerja dengan baik. Pada panduan kali ini saya akan menggunakan CMS wordpress.
Masuk ke prompt MySQL dan buat akun database.
sudo mysql -u username -p
CREATE DATABASE nama-database
Kemudian, Buat privileges database untuk user.
GRANT ALL PRIVILEGES ON nama-database.* TO 'username'@'localhost' IDENTIFIED BY 'isi-password';
Konfigurasi wp-config.php sesuai dengan detail username, nama-database dan password yang telah dibuat.
Akses domain atau IP di browser untuk memulai melakukan instalasi wordpress.
Saat ini database sudah terhubung dengan wordPress, artinya bahwa service dan pengaturan database yang dilakukan sebelumnya sudah bekerja dengan baik.
Baca Juga : Tutorial Instalasi NginX, MariaDB dan PHP di Ubuntu
Demikianlah Cara Install MYSQL 8 di Ubuntu 20.04. Semoga bermanfaat dan dapat membantu Anda. Jangan lupa untuk shared artikel ini kepada teman, kerabat, saudara atau lainnya. Agar mimin novri.web.id lebih semangat dalam membuat panduan-panduan lain.