يمكن أن الخلية بسهولة استبدال MariaDB أم أن هناك أشياء تتغير في هذه الحالة ؟

StackOverflow https://stackoverflow.com/questions/4106315

  •  29-09-2019
  •  | 
  •  

سؤال

لو كنت محل MySQL 5.1 الخادم مع MariaDB الخادم (ماريا & XtraDB المخازن) بدلا من الخلية (MyISAM & ك InnoDB) ، معظم الخلية برنامج العميل (ث.التطبيقات المصنوعة من PHP 5.2 و Java SE 1.6) ...

  1. فقط يبقى العامل دون أي تغيير (مع قاصر الانحدارات ربما) ؟
  2. أو سوف تضطر إلى استبدال/إعادة تكوين العميل السائقين (مثل استخدام آخر JDBC driver فئة سلسلة الاتصال)?
  3. أو حتى إلى تغيير رمز التطبيق?
هل كانت مفيدة؟

المحلول

http://kb.askmonty.org/v/mariadb-versus-mysql

جميع الخلية موصلات (PHP, Perl, Python, Java, MyODBC, روبي, الخلية C موصل الخ) يعمل دون تغيير مع MariaDB.

نصائح أخرى

لقد استخدمت Mariadb كبديل لـ Oracle's MySQL لسنوات. إنه أسرع وموثوق للغاية. لا يحتاج سوى القليل من الاهتمام في apt ، ولكن لا شيء شديد. أيضا ، هناك تفاصيل صغيرة واحدة مع مارياد. إنه يشاهد [خطأ] "تحذير PHP: MySQL_Connect (): عدم تطابق الرؤوس ومكتبة العميل" في السجلات. لم أجد أي حل آخر لذلك بخلاف البدء في التجميع يدويًا: Askmonty.

$php -i | grep 'Client API'

Client API version => 5.3.7-MariaDB
Client API library version => 5.3.7-MariaDB
Client API header version => 5.1.61
Client API version => 5.3.7-MariaDB

فقط لا تزال تعمل دون أي تغييرات (مع تراجعات طفيفة ربما)؟

لا يجب أن يكون لديك أي مشاكل طالما أنك تستبدل بنفس الإصدار. إذا كنت تستخدم حاليًا MySQL 5.1 ، فيمكنك استبدال Mariadb 5.1. إذا كنت تستخدم 5.5 ، استخدم واحدة المقابلة. Mariadb v5.2 و V5.3 والإصدارات المحسنة من 5.1.

أم أنه سيتعين علي استبدال/إعادة تكوين برامج تشغيل العميل (مثل استخدام فئة برنامج تشغيل JDBC وسلسلة الاتصال الأخرى)؟

لا ينبغي عليك. يستخدم كل من MySQL و MariaDB نفس البروتوكول والبناء الكلي ، ولكن قد يكون هناك بعض الاستثناءات في بعض الحالات. عنوان URL المقتبس في إجابة أخرى هو مورد رائع: http://kb.askmonty.org/v/mariadb-versus-mysql

فيما يتعلق بتراخيص السائقين ، هناك اختلافات إذا كنت تخطط لتوزيع مشروعك تجاريًا. في هذه الحالة ، أوصيك بالتحقق من شروط الترخيص ، وإذا كان لديك أي مخاوف ، فاستخدم إصدارات MariadB/Skysql من الموصلات كما هو مقترح في إجابة أخرى. يفحص http://www.skysql.com/downloads/java-cc-connectors-mariadb للتفاصيل.

أم أنه سيتعين علي تغيير رمز التطبيق؟

يجب أن يكون رمز التطبيق دون تغيير.

مجرد القليل من التعليقات التي تطلب التوافق مع برنامج تشغيل MySQL/codeigniter. واجهت المشكلات في سمات البت قبل دقائق قليلة.

لم يتم استعادة القيمة من الخادم. كانت دائما فارغة. كنت أستخدم تكوين قاعدة بيانات CI القياسي الذي يستخدم برنامج تشغيل "MySQL". بعد تغيير برنامج التشغيل في قاعدة البيانات.

فقط الرؤوس التي يمكن أن يكون هناك بعض الاختلافات إذا كنت تستخدم برنامج تشغيل MySQL القديم.

$db['default']['dbdriver'] = 'mysqli';

MariaDB Client API الإصدار 5.5.40

Mariadb هو mysql تطورت.

إنه أيضًا المطور نفسه الذي يقف وراء MySQL و Mariadb. إنه نفس الشيء تقريبًا (إذا لم يكن الأمر كذلك ، يمكنني فقط أن أقول أن MariaDB قد تم تحسين MySQL ، DOT).

ليس عليك تغيير أي شيء في PHP الخاص بك.

على عكس الاعتقاد الشائع ، فإن برنامج تشغيل الموصل الافتراضي/J JDBC للاتصال والتفاعل مع MySQL في Java لا يلعب بشكل جيد مع MariaDB. للعمل مع MariaDB ، تحتاج إلى جعل التطبيق الخاص بك يستخدم برنامج تشغيل الرذاذ أو Skysql.

http://kb.askmonty.org/en/mariadb-faq-is-te-any-java-connector-for-mariadb-than-the-drom-mysql

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top