MariaDB / دليل حلول تحريري

تشخيص فشل المقبس وTCP والمصادقة

افصل إمكان الوصول إلى الوجهة عن مصادقة الحساب قبل تغيير إعداد اتصال التطبيق. كل الفحوص أمثلة للقراءة داخل جلسة مصرح لها مسبقاً.

وقت القراءة التقريبي: 3 دقيقةتاريخ مراجعة المحتوى

قاعدة معرفة للقراءة فقط · بلا تعليقات عامة

تعرّف على الأعراض

ينجح دخول محلي من سطر الأوامر ويفشل التطبيق، أو يتغير الخطأ عند استبدال localhost بـ 127.0.0.1. تشير ERROR 2002 (HY000) وERROR 2003 (HY000) وERROR 1045 (28000) لمراحل مختلفة؛ احتفظ بالرسالة الفعلية كاملة ولا تعتبرها جميعاً مشكلة كلمة مرور.

افهم الأسباب المحتملة

  • يختار localhost غالباً مقبساً محلياً في Unix، ويستخدم TCP مضيفاً ومنفذاً. للحاويات نطاقات ملفات وشبكات منفصلة. تعتمد المصادقة بعد ذلك على user@host والإضافة والموصل ومتطلبات النقل. لا يصلح اختلاف مسار المقبس بمنح صلاحيات SQL إضافية.

صنف مرحلة الفشل

سجل الوجهة والبروتوكول والمنفذ أو مسار المقبس ومكان العميل والخطأ. يحدث غياب المقبس أو رفض TCP عادة قبل المصادقة. يعني رفض الوصول استجابة خادم مع رفض الهوية أو شرط وصول. راجع وثائق النشر ومعلومات الاستماع المعتمدة قبل تجربة البدائل. لا تكشف الكلمات في الأوامر أو تذاكر الدعم ولا تغير مصادقة root لحل دخول التطبيق.

حدد الخادم الذي تصل إليه الجلسة الناجحة

تكشف جلسة تدريب مصرح لها هوية الخادم ووجهاته. لا تنشئ الاستعلامات اتصالاً جديداً ولم تنفذ هنا. @@hostname اسم يعلنه الخادم وليس إثباتاً لمسار الشبكة. قد لا يوجد مقبس حاوية القاعدة داخل حاوية التطبيق. استخدم الدليل لتصحيح وجهة العميل عبر عملية النشر المعتادة بدلاً من إعادة الخدمات تخميناً.

sql SQL توضيحي؛ النتائج المتوقعة مستنتجة وليست قياسات.
SELECT VERSION(), @@hostname, @@port;
SHOW VARIABLES LIKE 'socket';
SHOW VARIABLES LIKE 'skip_networking';

فحص يعتمد على البيئة؛ لا نختلق اسماً أو منفذاً أو مساراً.

قارن هوية الحساب بهوية الاتصال

تحدد CURRENT_USER() الحساب المطابق للصلاحيات، وتعرض USER() هوية الاتصال. قد يكون الاختلاف مشروعاً ويجب فهمه. قد تستخدم unix_socket هوية النظام للمقبس المحلي ولا تسمح تلقائياً بـ TCP بالاسم نفسه. يفحص مالك الحساب المصرح الإضافة والمضيف وفق الإجراء المعتمد؛ لا يقدم الدليل SQL لتغيير الحساب أو منح مضيف عام.

sql SQL توضيحي؛ النتائج المتوقعة مستنتجة وليست قياسات.
SELECT CURRENT_USER(), USER(), CURRENT_ROLE();
SHOW GRANTS;

افحص المنح بصورة خاصة. قد يحتاج الدور الممنوح تفعيلًا قبل إتاحة الكائنات.

طابق العلاج مع الدليل

صحح مسار المقبس فقط إذا شارك التطبيق نطاقه وكان الاتصال المحلي مقصوداً. صحح المضيف والمنفذ عندما يلزم TCP بما في ذلك أسماء خدمات الحاويات. عند رفض المصادقة تحقق من حساب الخدمة والمضيف والإضافة وTLS، وأصلح التجهيز بتغيير مراجع مستقل عند الحاجة. لا يثبت دخول إدارة بالمقبس صحة كلمة التطبيق أو TCP أو أدواره.

تحقق من نجاح الإصلاح

استخدم فحص الاتصال المعتمد من بيئة التطبيق المقصودة وتأكد من الخادم وCURRENT_USER() دون طباعة الاعتمادات. تحقق من قراءة مسموحة وسياق الدور. افصل الوصول والمصادقة وصلاحية الكائن حتى لا تسمى مشكلة منح لاحقة خطأ الاتصال الأصلي.

امنع تكرار المشكلة

  • احفظ البروتوكول والوجهة صراحة ووثق حدود الحاويات ودوّر الاعتمادات عبر نظام الأسرار واختبر موصل الإنتاج نفسه. افصل حسابات الإدارة والتطبيق بسياسة إضافة ومضيف مراجعة.

المراجع الرسمية