لماذا يتم حظر اتصال MySQL بسبب العديد من أخطاء الاتصال؟
-
21-12-2019 - |
سؤال
كما ترون لدي مشكلة في الاتصال بقاعدة البيانات.يعطيني هذا الخطأ :
...محظور بسبب العديد من أخطاء الاتصال
لقد بحثت في بعض الإجابات ولكن لم أتمكن من حل مشكلتي.
لا أعرف إذا كنت قد قدمت كل المعلومات التي تحتاجها، لذا إذا كنت بحاجة إلى شيء آخر، فقط أخبرني.لدي اتصال بقاعدة البيانات من أجهزة كمبيوتر مختلفة وكان لدي مستخدم تم إنشاؤه للوصول إلى قاعدة البيانات ولكن كان لديه %
في صف المضيفين، لذلك أردت تغييره باستخدام عنوان IP لمشكلات الأمان وقد أعطاني هذا الخطأ لذا فأنا الآن في مأزق.
المحلول
يقوم MySQL بحظر العملاء الذين حدث لهم خطأ أثناء الاتصال لحماية MySQL من العميل المشوه.
لذا عليك أولاً أن تجد نوع الخطأ....
يمكنك التحقق من سجل أخطاء MySQL في دليل البيانات.(عادة اسم المضيف.err)
أو يمكنك الزيادة max_connect_errors
(ما هي القيمة الحالية؟) القيمة القصوى تعتمد على الهندسة المعمارية.على 32 بت، 4294967295.18446744073709547520 للإصدار 64 بت.(يدوي)
mysql> SET GLOBAL max_connect_errors = 100000000;
ولكن هذا ليس الحل الحقيقي إذا حدث خطأ بشكل متكرر.
FLUSH HOSTS
يمكن أن تساعدك على القضاء على المضيف المحظور الآن.
mysql> FLUSH HOSTS;
إذا كنت تريد التشغيل من خارج وحدة تحكم mysql، فاستخدم أمر mysqladmin:
# mysqladmin flush-hosts
نصائح أخرى
يستضيف التدفق الأول MySQL المحلي باستخدام الأمر التالي:
mysqladmin -u [username] -p flush-hosts
**** [MySQL password]
أو
mysqladmin flush-hosts -u [username] -p
**** [MySQL password]
خادم شبكة MySQL:
mysqladmin -h <ENDPOINT URL> -P <PORT> -u <USER> -p flush-hosts
mysqladmin -h [END POINT URL] -P 3306 -u [DB USER] -p flush-hosts
في اقتراح إضافي ، يمكنك حل مشكلة خطأ في العديد من Connections بشكل دائم عن طريق تحرير ملف my.ini [ملف تكوين MySQL
تغيير المتغيرات max_connections = 10000؛
أو
قم بتسجيل الدخول إلى MySQL باستخدام سطر الأوامر -
mysql -u [username] -p
**** [MySQL password]
ضع الأمر أدناه في نافذة MySQL
SET GLOBAL max_connect_errors=10000;
set global max_connections = 200;
تحقق حقيقي باستخدام الأمر-
show variables like "max_connections";
show variables like "max_connect_errors";