📘 أولاً: ما هي MySQL و MariaDB؟
MySQL: قاعدة بيانات SQL شهيرة جدًا، كانت مفتوحة المصدر بالكامل، لكن الآن تُطوَّر وتُدار من شركة Oracle بعد أن اشترتها.
MariaDB: انشقاق (Fork) من MySQL أنشأه نفس مطور MySQL الأصلي بعد شراء Oracle للمشروع، وذلك ليبقي قاعدة بيانات حرة ومفتوحة المصدر بالكامل.
⚙️ ثانيًا: الفرق بينهما تقنيًا
| المقارنة | MySQL | MariaDB |
|---|---|---|
| المالك | Oracle | مجتمع مفتوح + MariaDB Foundation |
| الترخيص | مصدر مفتوح + بعض مكونات مغلقة | مفتوحة المصدر بالكامل |
| الأداء (Performance) | ممتاز | غالبًا أسرع بقليل في بعض العمليات |
| التوافق (Compatibility) | MariaDB صُممت لتكون متوافقة مع MySQL (يمكنك تقريبًا استخدام نفس الأكواد والـqueries) | 100% متوافقة تقريبًا مع MySQL حتى الإصدار 5.7 |
| المزايا الجديدة | بطيئة في التحديث لأن Oracle تتحكم بالإصدارات | أسرع في إضافة مزايا جديدة ومحركات تخزين إضافية |
| محركات التخزين (Storage Engines) | InnoDB, MyISAM وغيرها | InnoDB, Aria, TokuDB, ColumnStore, وغيرها (أكثر تنوعًا) |
| الدعم في PHPMyAdmin | مدعوم تمامًا | مدعوم تمامًا (نفس الواجهة) |
💡 ثالثًا: ماذا يعني هذا بالنسبة لك في phpMyAdmin demo؟
في phpMyAdmin demo، عندك خيارين:
phpMyAdmin demo - MySQL (root)
→ متصل بسيرفر MySQL تقليدي (عادةً الإصدار 8.x أو 5.7).
→ مفيد لو تريد بيئة مشابهة لما يستخدمه معظم الاستضافات التجارية (مثل Hostinger, GoDaddy, إلخ).phpMyAdmin demo - MariaDB (root)
→ متصل بسيرفر MariaDB (عادةً الإصدار 10.x أو 11.x).
→ ممتاز لو أنت تستخدم XAMPP, Laragon, أو MAMP محليًا، لأن أغلبها الآن تعتمد MariaDB بدل MySQL.
⚖️ رابعًا: طيب، أيهما “الأفضل” فعليًا؟
يعتمد على الاستخدام 👇
| الاستخدام | الأفضل |
|---|---|
| تطوير محلي (XAMPP, Laragon, إلخ) | ✅ MariaDB |
| استضافة ويب عادية (shared hosting) | غالبًا ✅ MySQL |
| مشروع مفتوح المصدر بالكامل | ✅ MariaDB |
| تحتاج توافق 100% مع قواعد بيانات شركات كبيرة أو أنظمة تعتمد Oracle | ✅ MySQL |
| تبحث عن أداء أعلى وإضافات جديدة | ✅ MariaDB |
🔍 الخلاصة السريعة
كلاهما يعملان بنفس الأوامر SQL تقريبًا.
في phpMyAdmin ستتعامل مع نفس الواجهة ونفس الجداول ونفس الأكواد.
الفرق الأساسي في من يطورها والميزات المتقدمة والترخيص.
للمشاريع الصغيرة أو التعليمية → خذ MariaDB.
للمشاريع الإنتاجية الكبيرة أو التي تتطلب استقرارًا طويل الأمد → خذ MySQL.
الاتصال بلغة PHP مع قاعدة البيانات لكل من MySQL و MariaDB مع أمثلة عملية جاهزة.
🔧 أولاً: مبدأ الاتصال (نفس الكود تقريبًا)
الجميل أن MariaDB = MySQL في الكود تقريبًا 100%، لأنهما يستخدمان نفس بروتوكول الاتصال ونفس الدرايفر (mysqli أو PDO).
يعني لو كتبت كود يعمل مع MySQL، فهو سيعمل مع MariaDB بدون أي تعديل يُذكر. ✅
🧩 ثانياً: مثال اتصال باستخدام mysqli
📘 هذا الكود يعمل تمامًا سواء كانت القاعدة MySQL أو MariaDB.
🧱 ثالثاً: مثال باستخدام PDO (أنصح به لأنه أكثر أمانًا)
📘 نفس الكود هذا سيتصل بـ:
MySQL إذا كنت تستخدم MySQL Server.
MariaDB إذا كانت المثبّتة هي MariaDB Server.
الفرق الوحيد هو الإصدار الذي سيظهر في db_version.
🧠 رابعاً: معرفة الفرق من داخل الكود
لو أردت أن تعرف من داخل PHP هل أنت متصل بـ MySQL أم MariaDB:
🧮 خامساً: التوصية العملية
| الحالة | التوصية |
|---|---|
| تستخدم XAMPP أو Laragon أو MAMP محليًا | ✅ استخدم MariaDB (هي الافتراضية عادةً) |
| ترفع مشروعك على استضافة مثل Hostinger / GoDaddy / Bluehost | ✅ استخدم MySQL |
| تريد بيئة مفتوحة المصدر ومستقلة عن Oracle | ✅ استخدم MariaDB |
| مشروع كبير مع دعم شركات / أدوات تعتمد MySQL 8+ | ✅ استخدم MySQL |
💬 سادساً: ملاحظات مهمة للمطورين
mysqliأسرع قليلاً، لكنPDOأكثر مرونة (يدعم قواعد بيانات أخرى غير MySQL).استخدم دائمًا
charset=utf8mb4لتفادي مشاكل اللغة العربية أو الإيموجي.لا تضع بيانات الاتصال (user/pass) في كود مباشر بالموقع الإنتاجي.
استخدم ملف إعدادات خارجيconfig.phpوضعه خارج مجلدpublic_html.

0 تعليقات