කෙටියෙන් කිවහොත්, මාරියා ඩීබී හි
UPDATE mysql.user SET plugin = 'mysql_native_password',
Password = PASSWORD('NEWPASSWORD') WHERE User = 'root';
එහිදී ඔබ NEWPASSWORD වෙනුවට ඔබට අවශ්ය මුරපදය සහ අනෙක් සියල්ල වාචිකව ආදේශ කරයි.
මෙහි ඇති ගැටළුව නම් MariaDB හෝ MySQL ස්ථාපනය කර / යාවත්කාලීන කරන විට (විශේෂයෙන් මුරපදයක් නොමැතිව මූලයක් සකසා තිබේ නම්) පරිශීලක වගුවේ මුරපදය ඇත්ත වශයෙන්ම හිස් (හෝ නොසලකා හරිනු ලැබේ), සහ පුරනය වීම රඳා පවතින්නේ පද්ධති පරිශීලකයා මත ය. MySQL පරිශීලකයෙකුට. පද්ධති මූලයට මාරුවීමෙන් ඔබට මෙය පහත පරිදි පරීක්ෂා කළ හැකිය, ඉන්පසු ටයිප් කරන්න:
mysql -uroot -p
ඉන්පසු මුරපදයක් හෝ වැරදි මුරපදයක් ඇතුළත් නොකරන්න . ඔබට බොහෝ විට ඉඩ දෙනු ඇත. ( # mysql
මුරපදය අදාල නොවන නිසාත් පරිශීලකයා අර්ථ දක්වා ඇති නිසාත් ඔබට යුනික්ස් මූලයෙන් ලොග් වීමට පවා හැකිය ).
ඉතින් මොකද වෙන්නේ? හොඳයි, ඔබ root ලෙස ලොග් වී පහත සඳහන් දේ කරන්නේ නම්:
select User,host,plugin from mysql.user;
+----------------+-----------+-----------------------+
| User | host | plugin |
+----------------+-----------+-----------------------+
| root | localhost | auth_socket |
+----------------+-----------+-----------------------+
ඔබ සටහන් කරනු ඇත auth_socket
(එය unix_socket
මාරියා ඩීබී හි කියවිය හැකිය ). මෙම සොකට් මුරපද නොසලකා හරින අතර අනුරූප යුනික්ස් පරිශීලකයාට මුරපද පරීක්ෂාවකින් තොරව ඇතුළුවීමට ඉඩ දෙයි . ඔබට වෙනත් පරිශීලකයෙකු සමඟ නොව root සමඟ ලොග් විය හැක්කේ මේ නිසා ය .
එබැවින් විසඳුම වන්නේ auth_socket/unix_socket
මුරපදය නිසි ලෙස සකසා නොගෙන පරිශීලකයින් යාවත්කාලීන කිරීමයි .
2017 වන විට උබුන්ටු අනුවාදය 16 හි ඇති මාරියා ඩීබී (<10.2, පහත අදහස් බලන්න) මෙය ප්රමාණවත් විය යුතුය. NEWPASSWORD යනු ඔබගේ මුරපදයයි. mysql_native_password
ඔබ වාචික ටයිප් කරන්න.
UPDATE mysql.user SET plugin = 'mysql_native_password', Password = PASSWORD('NEWPASSWORD') WHERE User = 'root';
(ප්ලගිනය හිස් ලෙස සැකසීම සාර්ථක වනු ඇත. YMMV. මම මෙය උත්සාහ කළේ නැත. එබැවින් මෙය විකල්පයකි.)
UPDATE mysql.user SET plugin = '', Password = PASSWORD('NEWPASSWORD') WHERE User = 'root';
එසේ නොමැති නම්:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'NEWPASSWORD';
ඉන්පසු
FLUSH PRIVILEGES;
වාර්තාව සඳහා, පරිශීලකයා මකා දමා '%' සමඟ ප්රතිනිර්මාණය කිරීම සම්බන්ධ විසඳුම මා දත්ත ගබඩාවෙන් මුළුමනින්ම අගුළු දමා ඇති අතර, එම grant
ප්රකාශය හරියටම නිවැරදිව ලබා නොගතහොත් වෙනත් ගැටළු ඇති කළ හැකිය - ඔබට දැනටමත් ඇති මූල යාවත්කාලීන කිරීම පහසුය.
මගේ අත්දැකීම් අනුව, ගැටළුව සිදුවන්නේ මූල පරිශීලකයා සමඟ පමණි, මන්ද අනෙක් පරිශීලකයින් අතින් එකතු කරනු ලබන්නේ ආරම්භක ස්ථාපනය / යාවත්කාලීනයේ කොටසක් නොවේ.