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 الإضافات المصادقة المختلفة. تتمثل طريقة تخويل كلمة المرور الأصلية في العثور على قيمة تجزئة كلمة المرور باستخدام خوارزمية محددة وتخزينها في جدول 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;
إعادة تشغيل الخلية
service mysql restart
إذا قمت بتسجيل الدخول إلى mysql من سطر أوامر shell ، فاستخدم خيار - defh-auth لتحديد طريقة مصادقة التخويل. في بعض الأحيان لا يمكنك تسجيل الدخول لأن طريقة التحقق من التخويل الافتراضية غير صحيحة.
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 particles.js Slim Vincent Garreau daemon HTTP MongoDB Sudo Failed to build these modules: _uuid pg_bha.conf SQL Server width DATE_ADD ip command MySQL-python scrollbar Tcp BBR Compiling Apache Frameworks libpython3.7m.so.1.0 PHPStorm ss5-3.8.9 Apache2.4 Elasticsearch NodeJs show VIM CURLOPT_POSTFIELDS Minimal ISO substr Bluetooth Failed to build these modules: _ctypes PECL SQL Date Funcitons Wi-Fi date sub INTERVAL root Tag Cloud CodeIgniter font-size Laravel ss5 apache httpd dual network interfaces node.js ShadowsocksR vertical-align CURLFille horiz-align mb_substr PyCharm SUBDATE BarManager exec PEAR SOCKS5 Proxy Server WebStorm date add IntelliJIDEA remi Tag Chrome find jQuery PHP5.5 src Apache du nginx Shadowsocks-Python V2Ray cURL hide MariaDB10.4 PostgreSQL sub folder availability eth0 pdo_sqlsrv SOCKS5 Web Server date Install MongoDB mssql-tools register_shutdown_function Symfony File Upload php-fpm sqlsrv Zend Framework ADDDATE DevExpress JetBrain network interface Shadowsocks-Libev unixODBC-devel height Port 80 string Aura error_get_last password policy requirements SOCKS Web Development data INDENTIFIED BY msodbcsql Redis5 SVN Fedora Media Writer SQLAlchemy absolute Deepin jemalloc mysqlclient Shadowsocks toggle convert FuelPHP margin PHPUnit Framework ss5.passwd at-symbol Error Control Operator password SOCKET vps daemon process IIS MongoDB4 sudoers center Fatal Errors Phalcon SQL Server 2017 WiFi .htaccess DATE_SUB set_error_handler TestCase Compiling PHP frequency conflict PHPUnit ss5.conf apr Elasticsearch7.3

آخر مقال