Instal MySQL 8 di Ubuntu 20.04

Panduan ini memberikan tutorial langkah demi langkah tentang cara menginstal MySQL 8 di Ubuntu 20.04. MySQL adalah server database SQL multi-user yang cepat, stabil, dan multi-utas dengan tujuan utamanya adalah kecepatan, ketahanan, dan kemudahan useran. Untuk melihat deskripsi lengkap tentang fitur yang ditawarkan oleh MySQL 8, navigasikan ke Manual Referensi MySQL 8.

Instal MySQL 8 di Ubuntu 20.04

Ubuntu 20.04 dikirimkan dengan MySQL 8 pada repositori defaultnya.

apt show mysql-server
Package: mysql-server Version: 8.0.19-0ubuntu5 Priority: optional Section: database Source: mysql-8.0 Origin: Ubuntu Maintainer: Ubuntu Developers [email protected] Original-Maintainer: Debian MySQL Maintainers [email protected] Bugs: https://bugs.launchpad.net/ubuntu/+filebug Installed-Size: 110 kB Depends: mysql-server-8.0 Homepage: http://dev.mysql.com/ Task: lamp-server Download-Size: 9,544 B APT-Sources: http://us.archive.ubuntu.com/ubuntu focal/main amd64 Packages

Ini membuat instalasi MySQL 8 menjadi tugas yang mulus.

Sebelum Anda dapat melanjutkan, perbarui dan tingkatkan paket sistem Anda.

apt update apt upgrade

Selanjutnya, instal MySQL 8 di Ubuntu 20.04 dengan menjalankan perintah di bawah ini;

apt install mysql-server

Perintah menginstal MySQL 8 dan semua ketergantungan paket yang diperlukan.

Amankan Instalasi MySQL 8 di Ubuntu 20.04

MySQL dikirimkan dengan skrip keamanan yang disebut mysql_secure_installationyang memungkinkan Anda untuk menerapkan keamanan awal instalasi MySQL dengan cara berikut:

  • Anda dapat mengatur password untuk akun root.
  • Anda dapat menghapus akun root yang dapat diakses dari luar host lokal.
  • Anda dapat menghapus akun user anonim.
  • Anda dapat menghapus database pengujian (yang secara default dapat diakses oleh semua user, bahkan user anonim), dan hak istimewa yang mengizinkan siapa pun untuk mengakses database dengan nama yang dimulai dengan test_.

Script dapat dengan mudah dijalankan dengan menjalankan;

mysql_secure_installation

Saat dijalankan, skrip akan menanyakan apakah Anda ingin menerapkan pemeriksaan kompleksitas sandi. Terima memilih kekuatan password;

VALIDATE PASSWORD COMPONENT can be used to test passwords and improve security. It checks the strength of password and allows the users to set only those passwords which are secure enough. Would you like to setup VALIDATE PASSWORD component? Press y|Y for Yes, any other key for No: y There are three levels of password validation policy: LOW Length >= 8 MEDIUM Length >= 8, numeric, mixed case, and special characters STRONG Length >= 8, numeric, mixed case, special characters and dictionary file Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 2...

Selanjutnya, atur password root dan terima permintaan lain untuk menghapus user basis data anonim, larang login root jarak jauh, hapus basis data uji dan reload tabel hak istimewa untuk memengaruhi perubahan pada MySQL.

Memeriksa Versi MySQL yang Terinstal

Anda dapat memverifikasi versi MySQL yang diinstal dengan menjalankan;

mysql -V
mysql Ver 8.0.19-0ubuntu5 for Linux on x86_64 ((Ubuntu))

Masuk ke MySQL 8

Anda sekarang dapat terhubung ke MySQL 8 sebagai user root dengan password yang baru saja Anda atur di atas.

mysql -u root -p

Hal lain yang perlu diperhatikan adalah secara default, MySQL 8 menggunakan plugin otentikasi soket unix secara default. Ini memungkinkan Anda untuk masuk ke server MySQL Anda dari localhost sebagai user root tanpa password.

Oleh karena itu, menjalankan salah satu dari perintah di bawah ini akan membuat Anda log in ke server MySQL;

mysql
mysql -u root

Setelah masuk ke MySQL, Anda juga dapat memeriksa versi dengan menjalankan perintah;

mysql> SHOW VARIABLES LIKE "%version%";
+--------------------------+-------------------------------+ | Variable_name | Value | +--------------------------+-------------------------------+ | immediate_server_version | 999999 | | innodb_version | 8.0.19 | | original_server_version | 999999 | | protocol_version | 10 | | slave_type_conversions | | | tls_version | TLSv1,TLSv1.1,TLSv1.2,TLSv1.3 | | version | 8.0.19-0ubuntu5  | | version_comment | (Ubuntu) | | version_compile_machine | x86_64 | | version_compile_os | Linux | | version_compile_zlib | 1.2.11 | +--------------------------+-------------------------------+ 11 rows in set (0.00 sec)

Aktifkan Otentikasi MySQL Berbasis Kata Sandi

Seperti disebutkan di atas, MySQL menggunakan plugin otentikasi soket unix secara default.

SELECT plugin from mysql.user where User='root';
+-------------+ | plugin | +-------------+ | auth_socket | +-------------+ 1 row in set (0.00 sec)

Untuk mengaktifkan otentikasi berbasis password, Anda perlu beralih ke plugin password asli MySQL, mysql_native_password.

UPDATE mysql.user SET plugin = 'mysql_native_password' WHERE user = 'root' AND plugin = 'auth_socket';

Setelah selesai, setel ulang password user root;

ALTER USER [email protected] identified by '[email protected]';

Reload tabel hak istimewa;

flush privileges;

Verifikasi perubahan;

SELECT User,plugin from mysql.user where User='root';
+------+-----------------------+ | User | plugin | +------+-----------------------+ | root | mysql_native_password | +------+-----------------------+ 1 row in set (0.00 sec)

Keluar dari koneksi database dan coba login sebagai root lagi;

mysql -u root
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
mysql
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

Ini dia. Anda telah menonaktifkan otentikasi password untuk user root MySQL di localhost Anda.

Itu menandai akhir dari panduan kami tentang cara menginstal MySQL 8 di Ubuntu 20.04.

Tutorial Terkait

Instal MySQL 8 di CentOS 8

Instal MySQL 8 di Debian 10 Buster

Instal MySQL 8 di FreeBSD 12

Instal MySQL 8 di Debian 9