EverKB

Knowledge Base Ever

לפתור את הבעיה ERROR 1698 (28000): Access denied for user 'root'@'localhost'

2019-12-18 13:21:50

תווית: MySQL,MariaDB,mysql_native_password,caching_sha2_password, הגישה נדחתה עבור המשתמש 'root' @ 'localhost'

במשך זמן רב, MySQL תמכה בתוספי אימות שונים. שיטת הרשאת הסיסמה המקורית היא למצוא את ערך ה- hash של הסיסמה בעזרת אלגוריתם ספציפי ולאחסן אותו בטבלת mysql.user, אך זו אינה שיטת האימות היחידה.

כשאתה מתחבר לשרת עם המשתמש והסיסמה הנכונים ואושרו כהלכה, שירות MySQL גם מורה כי השירות נדחה. אתה יכול לקחת בחשבון שזה יכול להיגרם על ידי שיטות הרשאה שונות לסיסמא.

1. הרשאת Unix Socket מאפשרת למשתמשים להתחבר ל- mysql עם שם משתמש וסיסמא מקומיים. היתרון בשיטת הרשאה זו הוא שאין צורך לשמור על סיסמת ההרשאה בנפרד. הדבר אפשרי מכיוון שמשתמשים במצב יליד Unix Socket.
2. הפלאגין של הרשאת PAM מאפשר להתקין, כגון LDAP ומערכות אחוריות אחרות, אישור, שיטה זו מתאימה לשילוב במערכת הקיימת של הארגון.
3. הגירסה האחרונה של MySQL8 משתמשת ב- cache_sha2_password כדי לאשר, שהיא תיאורטית יותר בטוחה. עדכון זה יהיה כמובן טוב יותר, אך במחיר של שדרוג מנהל התקן הלקוח, אחרת תצטרך לחזור לשיטת הרישוי הישנה אך התואמת.
להלן הפיתרון: היכנס ל- mysql משורת הפקודה
sudo mysql -u root -p
כעת ניתן להזין פקודות שונות. המר את בסיס הנתונים הנוכחי ל- mysql.
USE mysql;
הפעל את הפקודה הבאה כדי לעדכן את תוסף ההרשאה. ומעדכן מייד את ההרשאה כדי להפוך אותה ליעילה.
UPDATE user SET plugin='mysql_native_password' WHERE User='root';
FLUSH PRIVILEGES;
exit;
הפעל מחדש את mysql
service mysql restart
אם אתה מתחבר ל- mysql משורת הפקודה shell, השתמש באפשרות --default-autor כדי לציין את שיטת אימות ההרשאה. לפעמים אינך יכול להתחבר מכיוון ששיטת אימות הרשאת ברירת המחדל אינה נכונה.
shell> mysql --default-auth=mysql_native_password ...

תווית

CentOS7 CentOS PHP Linux Python3 Python MySQL MariaDB YUM JavaScript caching_sha2_password HTML mysql_native_password PHP7 CSS Redis MySQL8 daemon HTTP particles.js Slim Vincent Garreau Failed to build these modules: _uuid MongoDB Sudo DATE_ADD ip command pg_bha.conf SQL Server width Compiling Apache Frameworks MySQL-python scrollbar Tcp BBR Apache2.4 Elasticsearch libpython3.7m.so.1.0 PHPStorm ss5-3.8.9 CURLOPT_POSTFIELDS NodeJs show VIM Bluetooth Failed to build these modules: _ctypes Minimal ISO substr date sub INTERVAL PECL SQL Date Funcitons Wi-Fi CodeIgniter font-size root Tag Cloud apache httpd dual network interfaces Laravel ss5 CURLFille horiz-align node.js ShadowsocksR vertical-align BarManager exec mb_substr PyCharm SUBDATE date add IntelliJIDEA PEAR SOCKS5 Proxy Server WebStorm Chrome find remi Tag Apache du jQuery PHP5.5 src cURL hide nginx Shadowsocks-Python V2Ray availability eth0 MariaDB10.4 PostgreSQL sub folder date Install MongoDB pdo_sqlsrv SOCKS5 Web Server File Upload mssql-tools register_shutdown_function Symfony ADDDATE DevExpress JetBrain php-fpm sqlsrv Zend Framework height network interface Shadowsocks-Libev unixODBC-devel Aura error_get_last Port 80 string data INDENTIFIED BY password policy requirements SOCKS Web Development Fedora Media Writer msodbcsql Redis5 SVN absolute Deepin jemalloc SQLAlchemy convert FuelPHP mysqlclient Shadowsocks toggle at-symbol Error Control Operator margin PHPUnit Framework ss5.passwd daemon process IIS password SOCKET vps center Fatal Errors MongoDB4 sudoers .htaccess DATE_SUB Phalcon SQL Server 2017 WiFi Compiling PHP frequency conflict set_error_handler TestCase apr Elasticsearch7.3 PHPUnit ss5.conf

המאמר האחרון