Dalam panduan ini, Anda akan belajar cara menginstal MySQL di Ubuntu Linux, dan kemudian cara mengatur root
MySQL kata sandi pengguna, dan terakhir cara mengakses server MySQL sebagai root
pengguna.
Semua langkah yang diberikan di bawah ini diuji pada edisi server Ubuntu 20.04 LTS yang baru diinstal.
Prasyarat
Sebelum menginstal MySQL, pastikan sistem Ubuntu Anda diperbarui dengan paket terbaru:
$ sudo apt update
$ sudo apt upgrade
Setelah semua pembaruan diinstal, reboot sistem Anda:
$ sudo reboot
1. Instal MySQL di Ubuntu Linux
MySQL tersedia di repositori default Ubuntu Linux. Untuk menginstal MySQL di Ubuntu Linux, jalankan:
$ sudo apt install mysql-server
Perintah ini menginstal semua komponen yang diperlukan untuk menyiapkan server database MySQL di Ubuntu.
Untuk memeriksa versi MySQL, jalankan:
$ mysql --version
Atau gunakan huruf kapital V
:
$ mysql -V
Contoh keluaran:
mysql Ver 8.0.25-0ubuntu0.20.04.1 for Linux on x86_64 ((Ubuntu))
1.1. Mulai, mulai ulang, dan hentikan layanan MySQL
Di Ubuntu, layanan MySQL secara otomatis dimulai setelah server MySQL diinstal. Untuk memverifikasi apakah layanan MySQL dimulai atau tidak, jalankan:
$ sudo systemctl status mysql
Contoh keluaran:
● mysql.service - MySQL Community Server Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2021-05-26 10:55:17 UTC; 4min 26s ago Main PID: 1520 (mysqld) Status: "Server is operational" Tasks: 37 (limit: 2280) Memory: 332.8M CGroup: /system.slice/mysql.service └─1520 /usr/sbin/mysqld May 26 10:55:15 ubuntu2004.localdomain systemd[1]: Starting MySQL Community Server… May 26 10:55:17 ubuntu2004.localdomain systemd[1]: Started MySQL Community Server.
Seperti yang Anda lihat, layanan MySQL dimuat dan berjalan! Jika tidak dimulai karena alasan apa pun, Anda dapat memulai layanan MySQL menggunakan perintah:
$ sudo systemctl start mysql
Untuk mengaktifkan MySQL untuk memulai secara otomatis pada setiap reboot, jalankan:
$ sudo systemctl enable mysql
Untuk memulai kembali layanan MySQL, jalankan:
$ sudo systemctl restart mysql
2. Setel kata sandi pengguna root MySQL
Secara default, kata sandi root MySQL kosong, yang tidak direkomendasikan dalam produksi. Anda harus menetapkan pengguna administratif basis data yang kuat dan unik, yaitu kata sandi pengguna root. MySQL dikirimkan dengan skrip bernama mysql_secure_installation
untuk menghapus pengaturan default yang tidak aman dan mengamankan server database.
mysql_secure_installation
skrip akan melakukan hal berikut:
- Siapkan
VALIDATE PASSWORD COMPONENT
, - Jika
VALIDATE PASSWORD COMPONENT
diaktifkan, aturpassword validation
pilihan Anda kebijakan, - Hapus pengguna anonim,
- Larang
root
login pengguna dari jarak jauh, - Hapus database pengujian dan hapus hak istimewa pada database pengujian,
- Akhirnya muat ulang tabel hak istimewa.
Sekarang mari kita jalankan skrip ini:
$ sudo mysql_secure_installation
Ketika Anda menjalankan perintah ini untuk pertama kalinya setelah instalasi MySQL, Anda akan terhubung ke MySQL dengan kata sandi kosong. Kemudian, Anda akan ditanya apakah ingin menyiapkan VALIDATE PASSWORD PLUGIN
.
VALIDATE PASSWORD PLUGIN
digunakan untuk menguji kata sandi dan meningkatkan keamanan. Ini memeriksa kekuatan kata sandi dan memungkinkan pengguna untuk mengatur hanya kata sandi yang cukup aman. Menyiapkan VALIDATE PASSWORD COMPONENT adalah opsional. Aman untuk membiarkannya dinonaktifkan . Namun, saya menyarankan Anda untuk menggunakan kata sandi yang kuat dan unik saat membuat peran pengguna. Jika Anda tidak ingin mengaktifkan VALIDATE PASSWORD PLUGIN
, cukup tekan tombol apa saja untuk melewati bagian validasi kata sandi dan melanjutkan langkah selanjutnya.
Saya ingin menggunakan VALIDATE PASSWORD PLUGIN
, jadi saya memasukkan y untuk ya:
Securing the MySQL server deployment. Connecting to MySQL using a blank 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
Jika Anda memilih ya , Anda akan diminta untuk memilih tingkat kebijakan kata sandi. Ada tiga kebijakan validasi kata sandi yang tersedia. Mereka RENDAH , MENENGAH dan KUAT . Setiap kebijakan kata sandi berisi seperangkat aturan kata sandi yang harus Anda gunakan saat membuat peran database baru. Misalnya jika Anda memilih MEDIUM, kata sandi harus berisi minimal 8 karakter termasuk angka, huruf kecil dan huruf besar, dan karakter khusus. Pilih kebijakan kata sandi yang cocok untuk Anda.
Saya menggunakan kebijakan kata sandi tingkat RENDAH, jadi saya memilih 0 (nol):
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:
Selanjutnya masukkan kata sandi pengguna root MySQL dua kali. Setelah memasukkan kata sandi, skor kekuatan kata sandi akan ditampilkan. Dalam kasus saya, saya mendapat 100. Jika kekuatan kata sandi OK untuk Anda, tekan y
untuk melanjutkan dengan kata sandi yang diberikan. Jika tidak, ketik sandi kuat lainnya lalu tekan Y
untuk melanjutkan.
Please set the password for root here. New password: Re-enter new password: Estimated strength of the password: 100 Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : y
Tolong jangan bingung ini dengan root
sistem Anda Akun. Ini adalah akun administratif untuk server database kami.
Selanjutnya, tekan y
dan tekan ENTER untuk menerima default untuk semua pertanyaan berikutnya. Ini akan menghapus pengguna anonim, melarang login root dari jarak jauh, dan menghapus database pengujian.
Remove anonymous users? (Press y|Y for Yes, any other key for No) : y Success. Normally, root should only be allowed to connect from 'localhost'. This ensures that someone cannot guess at the root password from the network. Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y Success. By default, MySQL comes with a database named 'test' that anyone can access. This is also intended only for testing, and should be removed before moving into a production environment. Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y - Dropping test database... Success. - Removing privileges on test database... Success. Reloading the privilege tables will ensure that all changes made so far will take effect immediately. Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y Success. All done!
Kami telah menetapkan kata sandi pengguna root MySQL.
Apakah Anda lupa kata sandi root MySQL Anda? Tidak masalah! Anda dapat dengan mudah mengatur ulang kata sandi root di MySQL seperti yang dijelaskan dalam tautan berikut:
- Cara Reset Kata Sandi Root Di MySQL 8 Di Ubuntu Linux
- Cara Menyetel Ulang Kata Sandi Pengguna Root MySQL Di Linux
3. Masuk ke MySQL
Untuk login ke server MySQL sebagai root
pengguna, cukup jalankan:
$ sudo mysql
Masukkan kata sandi pengguna Anda untuk mengakses perintah MySQL:
Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 18 Server version: 8.0.25-0ubuntu0.20.04.1 (Ubuntu) Copyright (c) 2000, 2021, Oracle and/or its affiliates. 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. mysql>
Mulai buat peran pengguna dan database untuk proyek Anda. Kami akan segera membahasnya dalam panduan terpisah.
Untuk melihat help
bagian, ketik help
atau \h
dan tekan ENTER
kunci:
mysql> help
Untuk keluar dari perintah MySQL dan kembali ke Terminal Anda, jalankan:
mysql> exit
4. Ubah metode otentikasi untuk pengguna root MySQL
Apakah Anda memperhatikan bahwa saya masuk ke server MySQL tanpa memberikan kata sandi pengguna root MySQL. Saya cukup memasukkan kata sandi akun pengguna sistem saya, tetapi bukan kata sandi pengguna root MySQL. Ini karena pengguna root MySQL menggunakan auth_socket
plugin untuk mengautentikasi dengan server MySQL di sistem Ubuntu yang menjalankan MySQL 5.7 dan versi yang lebih baru.
auth_socket
plugin mengotentikasi klien yang terhubung ke server MySQL dari host lokal melalui file soket Unix. Jadi Anda tidak dapat mengautentikasi ke server MySQL sebagai root
pengguna dengan memberikan kata sandi.
Jika Anda ingin menggunakan otentikasi kata sandi untuk pengguna root MySQL, Anda perlu mengkonfigurasi ulang server MySQL untuk menggunakan metode otentikasi yang berbeda seperti yang dijelaskan dalam artikel berikut.
>> Change Authentication Method For MySQL Root User In Ubuntu
Kesimpulan
Dalam panduan ini, kami belajar menginstal MySQL di sistem operasi Ubuntu Linux. Kami juga mempelajari cara mengatur kata sandi pengguna root MySQL dan cara mengakses atau terhubung ke server MySQL sebagai root
pengguna.