Di phpmyadmin saya membuat pengguna bernama "edward" dengan kata sandi dan semua hak istimewa:
Namun ketika saya mencoba masuk melalui phpmyadmin, dikatakan "Tidak bisa masuk ke Server MySQL".
Ketika saya mencoba masuk pada baris perintah (Windows 7), itu tidak akan mengizinkan saya:
Tetapi jika saya masuk tanpa kata sandi, saya masuk:
dan hanya menunjukkan kepada saya dua tabel.
Saya yakin kata sandinya benar dan saya telah membuat banyak pengguna yang semuanya tidak bisa masuk dengan kata sandi mereka, tidak peduli berapa banyak hak yang saya berikan kepada mereka.
Bagaimana saya bisa membuat pengguna ini hanya bisa masuk dengan kata sandi dan melihat semua database?
Tambahan:
Berikut ini adalah tangkapan layar dari phpmyadmin yang menunjukkan bahwa "edward" memiliki hak sebanyak "root":
sumber
SET PASSWORD FOR 'edward'@'%' = PASSWORD( 'YOU PASSWORD HERE' )
.Jawaban:
Karena Anda memberinya akses tanpa kata sandi ... Jika pengguna tidak memiliki kata sandi, masuk dengan kata sandi akan selalu gagal.
Tetapkan kata sandi untuk pengguna, hanya dengan itu Anda akan dapat menggunakannya
-p
Selain itu, Anda mungkin ingin menghapus
Any
pengguna.sumber
set password for 'edward'@'%' = password('test');
tetapi masih tidak bisa masuk dengan kata sandi, seolah-olah kata sandi tidak sedang diatur, tetapi sedang ditampilkan sedang diatur%
host, namun Anda mengaksesnya darilocalhost
, yang membuat perbedaan. Anda mungkin memiliki hibah lain di sana, yang cocok dengan siapa pun di localhost, tanpa kata sandi. pengguna dengan host yang ditentukan adalah definisi yang lebih kuat%
menjadilocalhost
dan sekarang saya bisa login, dan juga, seperti yang Anda katakan, jika saya menghapus entri "sembarang pengguna", saya dapat menggunakannya%
di edward, terima kasih.Kemungkinan besar Anda telah memberikan hak istimewa pada server, tetapi tidak pada database. Mencoba
GRANT ALL ON *.* TO 'edward' IDENTIFIED BY 'password'
sumber
*.*
, bukan*
- saya mengedit jawaban saya.Masalah yang sama tidak dapat dipecahkan secara gratis. Menghapus basis data, menghapus direktori dan menginstal ulang pada Centos 6.3. Baris perintah menunjukkan beberapa data yang kemudian digulir dengan cepat yang memecahkan masalah bagi saya. Disisipkan di bawah.
HARAP DIINGAT UNTUK MENETAPKAN PASSWORD UNTUK PENGGUNA root MySQL!
Untuk melakukannya, jalankan server, lalu jalankan perintah berikut:
Atau Anda dapat menjalankan:
Yang terakhir adalah yang bekerja untuk saya. Saya memasukkan kata sandi root dan itu benar-benar BEKERJA. Memasukkan kata sandi root menggunakan mysqladmin tanpa menjalankan skrip itu memberi saya kesalahan yang sama yang dilaporkan Edward. Jalankan skrip, jawab pertanyaan, sekarang menggunakan kata sandi root berfungsi dan masuk tanpa kata sandi ditolak. Yang ini membuatku gila juga. Saya telah menginstal mysql berkali-kali dan ini adalah pertama kalinya saya mengalami masalah ini. Tidak yakin apakah itu masalah yum / centos seperti di Ubuntu dan Fedora saya tidak punya masalah ini.
sumber