استكشاف مشكلات وظيفة كلمة المرور وإصلاحها في MySQL Server 8.0
عند محاولة تنفيذ وظيفة كلمة المرور في MySQL Server الإصدار 8.0.12، قد تحدث بعض السيناريوهات يؤدي إلى خطأ. تهدف هذه المقالة إلى معالجة مثل هذه المشكلات وتوفير حل قابل للتطبيق.
رمز الخطأ 1064
إذا واجهت الخطأ "رمز الخطأ: 1064. لديك خطأ في بناء جملة SQL الخاص بك..."، فهو يشير إلى وجود مشكلة في بناء جملة الاستعلام الخاص بك. على وجه التحديد، تم تغيير بناء جملة وظيفة PASSWORD في MySQL Server الإصدار 8.0.
بناء الجملة الجديد
مع MySQL Server 8.0، تم إهمال وظيفة PASSWORD واستبدالها بوظيفة مختلفة. آلية التجزئة. للحفاظ على التوافق، يجب عليك استخدام بناء الجملة التالي لإنشاء تجزئة مكافئة لتلك التي تنتجها وظيفة PASSWORD في الإصدارات السابقة:
CONCAT('*', UPPER(SHA1(UNHEX(SHA1('my_password')))))
مثال
في الاستعلام المقدم، يمثل "pwd = PASSWORD('2018')" مقارنة العمود "pwd" مع كلمة مرور ثابتة. لاسترداد المستخدمين بكلمة المرور "2018" باستخدام الصيغة الجديدة، يمكنك تعديل الاستعلام كما يلي:
SELECT * FROM users WHERE login = 'FABIO' AND pwd = CONCAT('*', UPPER(SHA1(UNHEX(SHA1('2018'))))) LIMIT 0, 50000
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3