MySQL peut être remplacé de façon transparente avec MariaDB ou y at-il des choses à changer dans ce cas?

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

  •  29-09-2019
  •  | 
  •  

Question

Si je remplace un serveur MySQL 5.1 avec un MariaDB serveur (Maria & XtraDB mémoires) au lieu de MySQL (MyISAM et InnoDB), sera la plupart du logiciel client MySQL (y compris. Les applications faites avec PHP 5.2 et Java SE 1.6) .. .

  1. reste juste travailler sans aucun changement (avec des régressions mineures peut-être)?
  2. Ou vais-je remplacer / reconfigure pilotes clients (comme l'utilisation une autre classe de pilote JDBC et chaîne de connexion)?
  3. Ou devrai-je même de changer le code d'application?
Était-ce utile?

La solution

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

  

Tous les connecteurs MySQL (PHP, Perl, python, Java, MyODBC, Ruby, etc connecteur MySQL C) fonctionne inchangé avec MariaDB.

Autres conseils

J'ai utilisé MariaDB comme remplacement pour MySQL Oracle depuis des années. Il est plus rapide et très fiable. A besoin juste un peu d'attention dans apt, mais rien sévère. En outre, il y a un petit détail avec MariaDB; il voit [error] "PHP Warning: mysql_connect (): en-têtes et bibliothèque client non-concordance de version mineure" dans les journaux. Je ne l'ai pas trouvé d'autre solution à cette autre que de commencer à compiler manuellement: 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
  

reste juste travailler sans aucun changement (avec des régressions mineures   peut-être)?

Vous ne devriez pas avoir de problèmes aussi longtemps que vous remplacez par la même version. Si vous utilisez actuellement MySQL 5.1, vous pouvez remplacer par MariaDB 5.1. Si vous utilisez 5.5, utilisez celui correspondant. MariaDB v5.2 et v5.3 et des versions améliorées de 5.1.

  

Ou vais-je remplacer / reconfigure pilotes clients (comme l'utilisation autre   JDBC classe pilote et chaîne de connexion)?

Vous ne devriez pas. MySQL et MariaDB utilisent le même protocole et la syntaxe dans l'ensemble, mais il pourrait y avoir quelques exceptions dans certains cas. L'URL cité dans une autre réponse est une excellente ressource: http://kb.askmonty.org/ v / MariaDB-contre-mysql

En ce qui concerne les licences des pilotes, il y a des différences si vous prévoyez de distribuer votre projet commercial. Dans ce cas, je vous recommande de vérifier les conditions de licence et si vous avez des préoccupations, utilisez les versions MariaDB / SkySQL des connecteurs comme suggéré dans une autre réponse. Consultez http://www.skysql.com/downloads/java-cc-connectors- MariaDB pour plus de détails.

  

Ou devrai-je même de changer le code d'application?

Le code d'application doit être inchangé.

Juste un peu de commentaires requarding la compatibilité avec le pilote mysql / CodeIgniter. Je suis tombé sur les problèmes sur les attributs BIT types il y a quelques minutes.

La valeur n'a pas été récupéré depuis le serveur. Il était toujours vide. J'utilisais la configuration de base de données standard de CI qui utilise le pilote « mysql ». Après avoir changé pilote dans le database.php à problème « mysqli » a été résolu.

Juste la tête vers le haut qu'il peut y avoir quelques différences si vous utilisez ancien pilote MySQL.

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

MariaDB version API client 05/05/40

MariaDB est MySQL a évolué.

Il est également le même développeur qui est derrière MySQL et MariaDB. Il est à peu près la même (si elle est pas, je ne peux que dire MariaDB est MySQL améliorée, point).

Vous n'avez pas à rien de changement dans votre PHP.

Contrairement à la croyance populaire, le pilote par défaut connecteur / J JDBC pour connecter et interagir avec MySQL en Java ne joue pas bien avec MariaDB. Pour travailler avec MariaDB, vous devez avoir votre utilisation de l'application ou le pilote Drizzle SkySQL.

http://kb.askmonty.org/en/mariadb-faq-is-there-any-java-connector-for-mariadb-than-the-one-from-mysql

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top