Saya baru saja menginstal MySQL 5.5 dan setelah menginstal saya diminta untuk mengatur kata sandi root dengan menjalankan dua perintah:
/usr/bin/mysqladmin -u root password 'new-password'
/usr/bin/mysqladmin -u root -h linux-opxd password 'new-password'
atau
/usr/bin/mysql_secure_installation
Saya menjalankan perintah pertama - OK. Saya menjalankan perintah kedua kali ini dengan kesalahan:
kesalahan: 'Akses ditolak untuk' root '@' localhost 'pengguna (menggunakan kata sandi: NO)'
Saya menjalankan kembali yang pertama (untuk memeriksa) - kesalahan seperti di atas.
Jadi, saya mengeksekusi mysql_secure_installation
. Semuanya berjalan baik-baik saja dan kata sandi yang diakui. Jadi saya menjalankan dua perintah pertama lagi - dan kesalahan lagi.
Sebagai cek lain:
mysql --user=root
Kesalahan yang sama seperti di atas.
Saya mencoba mengatur ulang kata sandi dengan otentikasi mysql, juga saya mencoba /usr/bin/mysql_upgrade -u root -p
- masih kesalahan saat mencoba meluncurkan konsol mysql sebagai root.
Jadi akhirnya saya mematikan autentikasi, terhubung ke konsol dan menjalankan ini:
SELECT user();
Output - root@
. Jika saya terhubung seperti ini:
mysql --user='root@localhost'
Saya akan mendapatkan root@localhost@
.
Jadi untuk saat ini tampaknya itu bukan masalah dengan hak istimewa, atau kurangnya kata sandi atau hal seperti ini, tetapi tidak mengenali pengguna yang diberikan pada baris perintah - mysql menambahkan @
di akhir dan ini tampaknya menjadi masalah (setidaknya untuk mataku).
Pertanyaannya adalah: bagaimana cara membuat MySQL mengenali pengguna yang diberikan?
sumber
Alasan Anda mendapatkan pesan kesalahan pada perintah mysqladmin kedua adalah karena Anda tidak mengautentikasi dengan server menggunakan kata sandi yang Anda atur di perintah pertama. Cukup sertakan '-p' pada perintah kedua, dan masukkan kata sandi saat diminta. Atau lebih mudah lagi, cukup gunakan perintah mysql_secure_installation, karena itu perlu ditambah beberapa hal berguna lainnya.
sumber
mysql_secure_installation
saya menulis saya mengeksekusi juga.