حلّ المجتمع

ثبّت MariaDB على CasaOS أو ZimaOS مع بيانات دائمة

A 2023 CasaOS tutorial introduced MariaDB as a central database service for self-hosted applications.

الخلاصة: تعامل مع MariaDB كبيانات دائمة، وليس مجرد حاوية أخرى مؤقتة

قدّم منشور CasaOS القديم MariaDB باعتبارها قاعدة بيانات مركزية للتطبيقات المستضافة ذاتيًا. ولا يزال مبدأ النشر الحالي صالحًا، لكن الأهم ليس النقر على «تثبيت»، بل تثبيت إصدار مناسب من الصورة، وتعيين بيانات اعتماد التهيئة مرة واحدة، وربط مجلد قاعدة البيانات بوحدة تخزين دائمة.

استخدم حاوية MariaDB الرسمية كنقطة انطلاق

services:
  mariadb:
    image: mariadb:lts
    restart: unless-stopped
    environment:
      MARIADB_ROOT_PASSWORD: change-this-now
      MARIADB_DATABASE: appdb
      MARIADB_USER: appuser
      MARIADB_PASSWORD: change-this-too
    volumes:
      - /path/to/mariadb:/var/lib/mysql
    ports:
      - "3306:3306"

تصف وثائق حاوية MariaDB الصورة الرسمية وعلامات إصداراتها. كما يشرح مرجع متغيرات بيئة الصورة إعدادات MARIADB_*.

لا تكون متغيرات التهيئة مهمة إلا مع مجلد بيانات جديد

إذا كان /var/lib/mysql يحتوي بالفعل على قاعدة بيانات، فإن تغيير MARIADB_ROOT_PASSWORD أو MARIADB_DATABASE في Compose لن يعيد إنشاء المثيل الحالي. وهذا سبب شائع لاعتقاد المستخدمين أن «كلمة المرور الجديدة لم تفعل شيئًا».

يتناول دليل متطلبات MariaDB للأجهزة احتياجات الموارد ومكان التخزين.

لا تنشر المنفذ 3306 على الإنترنت

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

استخدم Adminer للإدارة، وليس باعتباره قاعدة البيانات

Adminer مجرد واجهة ويب. أما المخطط والمستخدمون والبيانات فتوجد في MariaDB. ويُعد دليل متطلبات Adminer للأجهزة مفيدًا بعد التأكد من سلامة قاعدة البيانات نفسها.

انسخ قاعدة البيانات احتياطيًا، وليس ملف Compose فقط

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