Jika Anda baru saja menjalankan perintah mysql di bawah pengguna root, Anda akan diberikan akses tanpa diminta kata sandi, karena otentikasi soket diaktifkan untuk [email protected]
Panduan ini menyesatkan.
Satu-satunya cara untuk menyetel kata sandi adalah beralih ke autentikasi asli seperti:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'test';
Dalam penelitian gila saya untuk mencari solusi, saya melihat ke /var/log/mysqld.log
dan menemukan baris ini:
[Catatan] Kata sandi sementara dibuat untuk [email protected]:abc123
Sepertinya mysql 5.7+ menghasilkan kata sandi acak dalam instalasi dan diminta dalam file itu.
Gunakan langkah-langkah di bawah ini untuk menyetel ulang sandi:
$ sudo systemctl start mysqld
Setel ulang kata sandi root server MySQL.
$sudo grep 'temporary password' /var/log/mysqld.log
Keluarkan sesuatu seperti:
10.744785Z 1 [Note] A temporary password is generated for [email protected]: o!5y,oJGALQa
Gunakan kata sandi di atas selama reset mysql_secure_installation proses.
$ sudo mysql_secure_installation
Securing the MySQL server deployment.
Enter password for user root:
Anda telah berhasil mengatur ulang kata sandi root server MySQL. Gunakan perintah di bawah ini untuk memeriksa apakah server MySQL terhubung atau tidak.
$ mysql -u root -p
Lihat artikel saya:Instal MySQL 5.7 Terbaru di RHEL/Centos 7