MySQL ERROR 1045 (28000): Foydalanuvchi root '@ localhost' uchun kirish rad etildi (parol: Yo'q)

StackOverflow-dan bir nechta echimlarni sinab ko'rdim, ammo muvaffaqiyatga erishmadim. Men Mac OSX (Sierra 10.12.3) da yangi ma'lumotlar bazasi va foydalanuvchi yaratishga harakat qilaman. Terminaldan kiraman:

mysql -u root

bu xatolarni chiqaradi:

ERROR 1045 (28000): Foydalanuvchi root '@ localhost' uchun kirish rad qilindi (parol: NO)

Uni sinab ko'rish va uni hal qilish uchun mysql-ni "System Preferences" -dan to'xtatib qo'ydim, keyin terminalda yozildim:

sudo mysqld_safe —skip-grant-tables

Ikkinchi yorliqni ochdim va kiritdim:

mysql -u root

Keyin mysql-dan:

update mysql.user set password_expired = 'N', authentication_string=PASSWORD('newpassword') where user = 'root';

flush privileges;

Keyinchalik men kompyuterni qayta ishga tushiraman (jarayonni CMD + C bilan ishlamaydi). Qayta ishga tushirilgandan so'ng, MySQL -u root ni ishlasa ham bir xil xato ishlab chiqaradi.

Mysql-ga MySQL-mijoz va root bo'lmagan foydalanuvchi orqali kirish imkoniga egaman.

Har qanday yordamni qadrlaymiz.

23
Buni sinab ko'rdim va u ishlamayapti. Parolimni kiritganimdan so'ng men bir xil xatoga yo'l qo'yaman.
qo'shib qo'ydi muallif Alan P., manba
@ spencer7593 shu edi! Ildiz foydalanuvchi uchun plagin ustuni bo'sh edi. Buni mysql_native_password bo'lishi uchun yangiladim va endi hayot yaxshi. Buni javobda qoldiring va uni to'g'ri deb belgilayman. Katta rahmat!
qo'shib qo'ydi muallif Alan P., manba
@RickJames Men MySQL -u ni -p bilan sinab ko'rdim va unda - ikkala holatda ham xatolik yuz berdi.
qo'shib qo'ydi muallif Alan P., manba
@Ivanda bir qator qaytib keldi. Host = localhost, foydalanuvchi = root
qo'shib qo'ydi muallif Alan P., manba
@SomeStudent faqat $ PATH dagi har bir katalogni tekshirib ko'rdi va ularning bittasi faqatgina MySQL nomli faylga ega, shuning uchun bu muammo (/usr/mahalliy/mysql/ming ).
qo'shib qo'ydi muallif Alan P., manba
@Niagaradad mySQL-ni o'rnatganimda tasodifiy parol aslida yaratilgan. O'tmishda parolni yangiladim. Men oxirgi parolni, original parolni va bo'sh joyni sinab ko'rdim. Hammasi bir xil xato.
qo'shib qo'ydi muallif Alan P., manba
@SomeTurrent uni o'z veb-saytidan yuklab oldi.
qo'shib qo'ydi muallif Alan P., manba
To'g'ri, oxiridan tashqari xuddi shu kod parolni ishlatadi: YES
qo'shib qo'ydi muallif Alan P., manba
Mana yana bir savol: u ur SQLni qanday qilib oldi? Uni o'z veb-saytidan olasizmi yoki MAMP kabi katta paketning bir qismi sifatida olasizmi?
qo'shib qo'ydi muallif SomeStudent, manba
Bilaman, bu Mac emas, lekin mening Windows-dagi sabablarga ko'ra SQL serverining ikkita versiyasi mavjud. localhost va MySQL 5.7. Buning sababi bo'lishi mumkinmi?
qo'shib qo'ydi muallif SomeStudent, manba
Faqat tasdiqlash uchun: MySQL 5.6 yoki undan oldingi versiyasini emas, MySQL 5.7 ishlayotganingizga aminmisiz. Va plagin ustuni "mysql_native_password" ni o'z ichiga oladi. (MySQL 5.7dan oldin, parol aralashuvi parol da joylashgan ustunga saqlanadi MySQL 5.7dan boshlab, parol ustuni chiqariladi va parol authentication_string ustun). Shuningdek, tasdiqlash satrining mazmuni PASSWORD ('mysecret') dan qaytish bilan mos keladi. Bundan tashqari, SET PASSWORD FOR sintaksisini ishlatish o'rniga mysql.user jadvali bilan DML dan foydalanayotganimiz sababi bormi?
qo'shib qo'ydi muallif spencer7593, manba
Bo'sh parol va hech qanday parol boshqacha. Birinchisi bo'sh satr. ikkinchisi pwd so'ramaydi.
qo'shib qo'ydi muallif Rick James, manba
Siz parolni qo'shdingiz, shuning uchun -p dan foydalaning va parolni kiriting.
qo'shib qo'ydi muallif Stony, manba
shuning uchun ham xuddi shunday emas. Yo'q, siz MySQL-ga parol yubormaysiz. Ha, MySQL-ga parolni yuborishni anglatadi, ammo noto'g'ri. MySQL-ni o'rnatganingizda mysql-root foydalanuvchisi uchun maxsus parol yaratdingizmi? Sukut bo'yicha hech qanday parol yo'q, shuning uchun MySQL -u root -p-dan foydalanishingiz mumkin.
qo'shib qo'ydi muallif Niagaradad, manba
Men bundan oldin XAMPP-da mysql-serverni ulamaganimda edi.
qo'shib qo'ydi muallif b2ok, manba
To'liq bir xil xato?
qo'shib qo'ydi muallif Psi, manba
"Host ni tanlang, mysql.user foydalanuvchisidan" "User =" root ";? U yerda sizning joyingiz bormi?
qo'shib qo'ydi muallif Ivan, manba
Bu yozuvni root localhost ga qarang. hop sizga yordam beradi
qo'shib qo'ydi muallif Jorge Dieguez Perez, manba

9 javoblar

Xavfsizlik nuqtai nazaridan, MySQL -u root buyruqqa o'tmaganingizdan so'ng ishlamaydi, shuning uchun pastga qarab harakat qiling

 MySQL -u root -p[Enter]
 //enter your localhost password
24
qo'shib qo'ydi
Rahmat, lekin men va dalilsiz va noaniqlik bilan harakat qildim. @ spencer7583 muammoni hal qildi.
qo'shib qo'ydi muallif Alan P., manba
mysql -u root -p;

Mysql parolni so'raydi

6
qo'shib qo'ydi

Faqat tasdiqlash uchun: MySQL 5.6 yoki oldingi versiyasini emas, MySQL 5.7 ishlayotganingizga aminmisiz. Va plagin ustuni "mysql_native_password" ni o'z ichiga oladi. (MySQL 5.7dan oldin, parol aralashuvi parol nomi ostida saqlangan bo'lib, MySQL 5.7dan boshlab, parol ustuni o'chiriladi va parol autentifikatsiya so'zi ostida saqlanadi). Shuningdek, autentifikatsiya satrining mazmunini ham tasdiqladingiz PASSWORD ('mysecret') dan qaytish bilan mos keladi. Bundan tashqari, biz DMLni mysql.user jadvaliga qarshi MASAMA PASSWORD for syntax ishlatish o'rniga foydalanamiz.    - spencer7593

Asosan faqat Plugin ustunida "mysql_native_password" mavjudligiga ishonch hosil qiling.

Mening ishim emas, balki sharhlarni o'qib chiqdim va bu javob sifatida qayd etilganligini bildim, ammo hali javob berilmadi.

6
qo'shib qo'ydi

MySQL-ni xampp-controle.exe yordamida XAMPP da ishga tushirishingiz kerak. Keyin kirish:

mysql -u root
2
qo'shib qo'ydi
Ha MySQL ishlayapti.
qo'shib qo'ydi muallif Alan P., manba
Bu nima degani emas.
qo'shib qo'ydi muallif Alan P., manba
Men XAMPP yoki Windows foydalanmayapman.
qo'shib qo'ydi muallif Alan P., manba
OK, MySQL ishlashini tekshirish kerak.
qo'shib qo'ydi muallif b2ok, manba
Mysql ishlaydimi?
qo'shib qo'ydi muallif b2ok, manba

faqat foydalaning:

$ sudo mysql

"-u root" parametrisiz foydalanish mumkin.

1
qo'shib qo'ydi
Ushbu buyruqdan foydalanib men o'zimning parolim so'raladi. Men unga kirib, bir xil xatolarni olaman.
qo'shib qo'ydi muallif Alan P., manba

Agar biron sababga ko'ra parol so'ralishini o'tkazib yuborsangiz, parolni (Xavfli)

mysql -u root --password=secret
1
qo'shib qo'ydi

Root parolingiz sizning fikringiz emasmi? Parol uchun /root/.mysql_secret faylini tekshirdingizmi? Bu esa, 5.7 versiyasidan boshlab yaratilgan avtomatik root parolining asl holati.

cat /root/.mysql_secret
1
qo'shib qo'ydi

Buni sinab ko'ring (Windowsda, men qanday qilib boshqalar bilmayman), agar parolni o'zgartirib yuborsangiz, ishlamang.

1) MySQL ni o'ldiring 2) zaxira/mysql/data papkasida 3) papkaga/mysql/zaxiraga o'ting 4) mysql/mysql/mysql/mysql/mysql (rewrite) fayllarini/mysql / 5) mysql-ni ishlating

Win7-da mening XAMPP-da ishlaydi.

0
qo'shib qo'ydi

Menda shu muammo yuz berdi va bu erda qanday qilib uni hal qildim. Umid qilamanki bu yordam

0
qo'shib qo'ydi
Salom, SO ga xush kelibsiz. Iltimos, maqolani/postni havola qilish o'rniga uni qanday tuzatganingiz haqida ma'lumot qo'shing. stackoverflow.com/help/how-to-answer & stackoverflow.com/help/referencing .
qo'shib qo'ydi muallif dj79, manba