كيفية إصلاح خطأ MySQL 1049: قاعدة بيانات غير معروفة

نشرت: 2024-03-29

الخطأ 1049: قاعدة بيانات غير معروفة تعمل كطريقة MySQL للإشارة إلى عدم قدرتها على تحديد موقع قاعدة البيانات التي تحاول التعامل معها. في الأساس، يفهم MySQL طلبك ولكنه لا يستطيع تنفيذه لأن قاعدة البيانات المعنية، من وجهة نظره، غير موجودة.

وبالمثل، عندما تواجهmysqldump: حصلت على خطأ: 1049: قاعدة بيانات غير معروفة وخطأ MySQL 1049 – SQLSTATE: 42000 (ER_BAD_DB_ERROR) رسائل قاعدة بيانات غير معروفة '%s'، فأنت تواجه بشكل أساسي وجهين لنفس العملة. يشير كلا الخطأين إلى انقطاع الاتصال بين إجراءاتك - سواء كنت تقوم بالنسخ الاحتياطي أو التصدير أو الاتصال بقاعدة بيانات MySQL - والوجود الفعلي لقاعدة البيانات أو إمكانية الوصول إليها على خادم MySQL.

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

فهم "mysqldump: حصل خطأ: 1049: قاعدة بيانات غير معروفة"

عندما تكون منخرطًا في مهمة النسخ الاحتياطي لقاعدة بيانات MySQL أو تصديرها باستخدام الأداة المساعدة mysqldump ويتم الترحيب بك برسالة الخطأmysqldump: got error: 1049: Unknownقاعدة بيانات ، فهذا يمثل تحديًا محددًا وشائعًا في إدارة قواعد البيانات.يظهر هذا الخطأ في السيناريوهات التي يحاول فيها mysqldump إنشاء نسخة احتياطية من قاعدة بيانات غير موجودة على خادم MySQL، على حد علمه.

هذا الخطأ بالذات جدير بالملاحظة لأنه يتعلق على وجه التحديد بعملية النسخ الاحتياطي لقاعدة البيانات أو تصديرها، مما يسلط الضوء على الانفصال بين القصد التشغيلي والحالة الفعلية لقاعدة البيانات أو إمكانية الوصول إليها. يمكن أن تشمل الأسباب ما يلي:

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

غياب قاعدة البيانات : محاولة تصدير قاعدة بيانات غير موجودة على الخادم.

مشكلات الأذونات : تشغيل mysqldump باستخدام حساب مستخدم يفتقر إلى الأذونات المطلوبة للوصول إلى قاعدة البيانات، مما يجعلها "غير مرئية" لذلك المستخدم.

فهم "خطأ MySQL 1049 - SQLSTATE: 42000 (ER_BAD_DB_ERROR) قاعدة بيانات غير معروفة '%s'"

من ناحية أخرى، خطأ MySQL 1049 – SQLSTATE: 42000 (ER_BAD_DB_ERROR) قاعدة بيانات غير معروفة '%s' هو خطأ أوسع قد تواجهه عند محاولة الاتصال بقاعدة بيانات أو تحديدها أو معالجتها داخل MySQL.يرمز %s إلى اسم قاعدة البيانات التي تحاول الوصول إليها.تم إيقاف تشغيل قاعدة البيانات لأن MySQL لا يمكنه تحديد موقع قاعدة البيانات المحددة بناءً على الاسم المقدم.

تعد رسالة الخطأ هذه إشارة عامة إلى فشل العملية التي تتضمن قاعدة بيانات MySQL بسبب عدم التعرف على قاعدة البيانات. يمكن أن يحدث هذا في مجموعة متنوعة من السياقات، مثل أثناء تهيئة التطبيق، أو عند تشغيل استعلامات SQL، أو أثناء تكوين العمليات المستندة إلى قاعدة البيانات. غالبًا ما تعكس الأسباب الأساسية أسباب خطأ mysqldump ولكن يتم مواجهتها في نطاق أوسع من سيناريوهات تفاعل قاعدة البيانات:

تناقضات في التسمية : بما في ذلك الأخطاء المطبعية أو مشكلات حساسية حالة الأحرف في اسم قاعدة البيانات.

قاعدة بيانات غير موجودة : قاعدة البيانات المحددة غير موجودة على خادم MySQL المتصل.

الوصول والأذونات : قد لا يكون لدى المستخدم الأذونات الصحيحة لعرض قاعدة البيانات المحددة أو التفاعل معها.

إصلاح خطأ MySQL 1049

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

التحقق من اسم قاعدة البيانات

دقة اسم قاعدة البيانات أمر بالغ الأهمية. يمكن أن يؤدي وجود حرف في غير مكانه، أو مسافة غير ضرورية، أو مشكلة حساسية حالة الأحرف في الأنظمة المشابهة لـ UNIX إلى الاعتقاد بأن قاعدة البيانات غير موجودة عندما يكون الأمر مجرد خطأ مطبعي.

تحقق مرة أخرى من اسم قاعدة البيانات : تأكد من كتابة اسم قاعدة البيانات بشكل صحيح في الاستعلام الخاص بك.انتبه جيدًا لأي شرطات سفلية، وواصلات، وحساسية حالة الأحرف.

حساسية حالة الأحرف في أنظمة UNIX : تذكر أن الأنظمة المشابهة لـ UNIX حساسة لحالة الأحرف.يعتبر MyDatabase وmydatabase كيانين مختلفين.

الاتساق هو المفتاح : استخدم نفس الحالة التي تم استخدامها عند إنشاء قاعدة البيانات.إذا لم تكن متأكدًا، فتحقق من أسماء قواعد البيانات الموجودة لمعرفة تنسيقات الحالات الخاصة بها.

التأكد من وجود قاعدة البيانات

يعد التأكد من وجود قاعدة بيانات في MySQL خطوة حاسمة في استكشاف أخطاء الخطأ 1049 وإصلاحها. تتيح لك هذه العملية رؤية جميع قواعد البيانات التي يتعرف عليها خادم MySQL، مما يوفر صورة واضحة عما هو متاح للاتصال والاستعلام.

كيفية التأكد من وجود قاعدة بيانات

  1. اتصل بخادم MySQL الخاص بك باستخدام بيانات الاعتماد المناسبة (اسم المستخدم وكلمة المرور).
  2. بمجرد الاتصال، انتقل إلىوحدة التحكم وقم بتشغيل الأمر:
 عرض قواعد البيانات؛ 

يسرد هذا الأمر كافة قواعد البيانات المسموح للمستخدم المتصل برؤيتها. سيبدو الإخراج كما يلي:

إظهار قواعد البيانات

قم بالمسح خلال القائمة بحثًا عن قاعدة البيانات التي تهتم بها. إذا ظهرت في القائمة، فهذا يؤكد أن قاعدة البيانات موجودة على الخادم وأن لديك الأذونات اللازمة للوصول إليها.

إذا لم تظهر قاعدة البيانات في القائمة، فإما أنها غير موجودة، أو أن حساب المستخدم الخاص بك لا يملك الأذونات اللازمة لرؤيتها. في الحالة الأخيرة، تشاور مع مسؤول قاعدة البيانات لديك للتأكد من أن حسابك يتمتع بالامتيازات اللازمة.

إذا واجهت مشكلات تتعلق بحساسية حالة الأحرف (شائعة في الأنظمة المشابهة لـ UNIX)، فتأكد من مطابقة الحالة الدقيقة لاسم قاعدة البيانات في استعلاماتك.

تذكر أن رؤية قاعدة البيانات في القائمة لا تعني بالضرورة أن لديك حقوق الوصول الكامل لتنفيذ كافة الإجراءات عليها. قد تحتاج إلى التحقق من أذونات معينة، خاصة إذا كنت تخطط لتعديل قاعدة البيانات أو محتوياتها.

تحقق من الأذونات

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

يساعد نظام الأذونات على منع المستخدمين غير المصرح لهم من الوصول إلى البيانات الحساسة أو تعديلها، مما يحافظ على سلامة قاعدة البيانات الخاصة بك. من خلال تعيين امتيازات محددة لمستخدمين مختلفين، تضمن MySQL أن المستخدمين يمكنهم تنفيذ تلك العمليات الضرورية فقط لدورهم، وبالتالي تقليل مخاطر تغيير أو حذف البيانات عن طريق الخطأ أو عن طريق الخطأ.

مراجعة امتيازات المستخدم

  1. قم بتسجيل الدخول إلى محطة MySQL الخاصة بك.
  2. في أسفل الصفحة، انقر على وحدة التحكم .
  3. اكتب بناء الجملة لمراجعة امتيازات المستخدم وانقر فوق ctrl+Enter :
 عرض المنح لـ 'your_username'@'your_host'؛

تأكد من استبدال your_username باسم مستخدم الحساب الذي تتحقق منه واستبدال your_hostبالمضيف الذي يتصل منه المستخدم. يمكن أن يكون المضيفعنوان IP أو اسم مجالأو"مضيف محلي"إذا تم الاتصال محليًا. سيؤدي هذا إلى عرض كافة الامتيازات الممنوحة لحساب المستخدم المحدد. قد يبدو الإخراج شيئًا مثل هذا:

 منح الاستخدام على *.* إلى 'your_username'@'your_host' الذي تم تحديده بواسطة كلمة المرور 'password'

منح التحديد والإدراج والتحديث في "قاعدة بياناتك".* إلى "اسم المستخدم الخاص بك" @ "مضيفك"

قم بتحليل الإخراج لفهم الامتيازات المخصصة للمستخدم. تعد الأذونات مثلSELECT و INSERTوUPDATEوDELETEشائعة، ولكن قد ترى أذونات أخرى اعتمادًا على دور المستخدم.

تأكيد اتصال الخادم

في البيئات التي يتم فيها تشغيل قواعد بيانات أو مثيلات متعددة، لا يعد الاتصال بخادم MySQL الصحيح مهمًا فحسب، بل إنه ضروري أيضًا. يمكن أن يؤدي التشغيل على خادم خاطئ إلى حدوث ارتباك كبير، وتكوينات خاطئة، وعمليات بيانات قد تكون خطيرة.

لضمان أنك تعمل مع مجموعات البيانات الصحيحة، يجب أن تكون متصلاً بالخادم الذي يضم قواعد البيانات ذات الصلة. وهذا يضمن أن التحليلات والتحديثات والنسخ الاحتياطية لديك دقيقة وموثوقة.

تحقق من تفاصيل الاتصال الخاصة بك

مراجعة ملفات التكوين أو سلاسل الاتصال : ابدأ بفحص ملفات تكوين التطبيق الخاص بك أو سلاسل الاتصال التي تستخدمها.ابحث عنمعلمات مثل المضيفوالمنفذ والمستخدم وكلمةالمرور. تحدد هذه المعلمات مكان وكيفية اتصال تطبيقك بخادم MySQL.

ضمان الدقة : تأكد من أن معلمة المضيفتطابق عنوان الخادم المقصود. يجبأن يتوافق المنفذ مع المنفذ الذي يستمع إليه خادم MySQL (الافتراضي هو 3306).

قم بالتحديث إذا لزم الأمر : إذا كانت هناك أية تفاصيل غير صحيحة، فقم بتحديثها لتعكس معلمات الاتصال الصحيحة.قد يتطلب هذا استشارة مسؤول الشبكة أو مدير قاعدة البيانات للحصول على القيم الصحيحة.

التحقق من حالة الخادم

ابدأ بأمرping بسيط إلى عنوان الخادم لضمان الاتصال بالشبكة.في المحطة الطرفية أو موجه الأوامر، اكتب الأمر التالي واضغط علىEnter :

 تنفيذ الأمر ping your_mysql_server_host

من المفترض أن تشاهد ردودًا تشير إلى إمكانية الوصول إلى الخادم.

لإجراء اختبار مباشر أكثر، حاول تسجيل الدخول إلى خادم MySQL باستخدام أداة سطر الأوامر.

قم بتنفيذ الأمر التالي وأدخل كلمة المرور الخاصة بك عندما يُطلب منك ذلك:

 mysql -h your_server_host -u your_username -p

إذا قمت بالاتصال بنجاح، فأنت على الخادم الصحيح. إذا لم يكن الأمر كذلك، فقد تحتاج إلى إعادة النظر في تفاصيل الاتصال الخاصة بك أو التحقق من حالة الخادم.

  • يشير الاتصال الناجح إلى أن الخادم قيد التشغيل وأن تفاصيل اتصالك صحيحة.
  • قد يشير الاتصال الفاشل إلى وجود مشكلات في الخادم نفسه، أو اتصال الشبكة، أو عدم الدقة في معلمات الاتصال الخاصة بك.

إنشاء أو إعادة إنشاء قاعدة بيانات

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

كيفية إنشاء قاعدة بيانات

  1. افتح أداة سطر أوامر MySQL أو عميل MySQL واتصل بخادم MySQL باستخدام بيانات الاعتماد المناسبة.
  2. تنفيذ أمر إنشاء قاعدة بيانات:
 إنشاء قاعدة بيانات data_name؛

استبدل قاعدة بيانات_اسم بالاسم المطلوب لقاعدة البيانات الخاصة بك.تأكد من أن الاسم فريد داخل خادم MySQL ويلتزم باصطلاحات تسمية MySQL.

بعد تنفيذ الأمر، سيقوم MySQL بإنشاء قاعدة بيانات فارغة، جاهزة لك لتحديد بنيتها وملؤها بالبيانات.

استخدم قواعد بيانات العرض؛ الأمر لسرد جميع قواعد البيانات والتأكد من إنشاء قاعدة البيانات الجديدة بنجاح.

قم بتعيين الأذونات المناسبة

بعد إنشاء قاعدة بيانات جديدة، يعد التأكد من أن حساب المستخدم الخاص بك (أو حسابات أولئك الذين سيعملون مع قاعدة البيانات) لديه الأذونات اللازمة للوصول إليها وتعديلها أمر بالغ الأهمية. بدون الأذونات المناسبة، لن يتمكن المستخدمون من تنفيذ العمليات الأساسية مثل إنشاء الجداول أو إدراج البيانات.

  1. في لوحة تحكم MySQL، انتقل إلىConsole .
  2. أدخل بناء الجملة التالي ثم انقر فوق ctrl + Enter .
 منح جميع الامتيازات لقاعدة البيانات_اسم.* إلى 'اسم المستخدم'@'المضيف'؛

استبدل اسم قاعدة البيانات باسم قاعدة البيانات التي تم إنشاؤها حديثًا، واسم المستخدمباسم حساب مستخدم MySQL،والمضيفباسم المضيف الذي يتصل منه المستخدم.

مثال:

منح جميع الامتيازات على my_new_database.* إلى 'myuser'@'localhost'؛

يمنح هذا الأمر كافة الامتيازات المتاحة لقاعدة البيانات الجديدة للمستخدم المحدد، مما يسمح بالتحكم التشغيلي الكامل في قاعدة البيانات.

للتأكد من تطبيق التغييرات على الامتيازات على الفور، قم بتنفيذ ما يلي:

 امتيازات التدفق؛

إغلاق الأفكار

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

قم بتسريع إنشاء موقع WordPress الخاص بك باستخدام الذكاء الاصطناعي.

قم بإنشاء موقع WordPress مخصص مصمم خصيصًا لتلبية احتياجات عملك بشكل أسرع 10 مرات باستخدام 10Web AI Website Builder.

قم بإنشاء موقع الويب الخاص بك
بطاقة الإئتمان غير مطالب بها