Can MySQL nahtlos mit MariaDB oder gibt es Dinge ersetzt werden in diesem Fall zu ändern?

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

  •  29-09-2019
  •  | 
  •  

Frage

Wenn ich einen MySQL 5.1 Server mit MariaDB Server (Maria & XtraDB Speicher) anstelle von MySQL (MyISAM & InnoDB) ersetzen, wird die meisten von MySQL-Client-Software (inkl. Applikationen mit PHP 5.2 und Java SE 1.6 gemacht) .. .

  1. bleiben nur ohne Änderungen arbeiten (mit geringfügigen Regressionen vielleicht)?
  2. Oder muss ich ersetzen / recon Client-Treiber (wie die Verwendung einer anderen JDBC-Treiberklasse und Verbindungszeichenfolge)?
  3. Oder werde ich selbst zu ändern Anwendungscode haben?
War es hilfreich?

Lösung

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

  

Alle MySQL-Anschlüsse (PHP, Perl, Python, Java, MyODBC, Ruby, MySQL-C-Stecker, etc.) arbeitet unverändert mit MariaDB.

Andere Tipps

Ich habe seit Jahren MariaDB als Ersatz für Oracle MySQL verwendet. Es ist schneller und sehr zuverlässig. Braucht nur wenig Aufmerksamkeit in apt, aber nichts streng. Außerdem gibt es ein kleines Detail mit MariaDB; es ist zu sehen, [Fehler] "PHP Warning: mysql_connect (): Kopf- und Client-Bibliothek Minor-Versionskonflikt" in den Protokollen. Ich habe keine andere Lösung für diese andere gefunden als manuell zu starten Kompilieren: 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
  

bleibt nur arbeiten, ohne Änderungen (mit geringfügigen Regressionen   vielleicht)?

Sie sollten keine Probleme haben, solange Sie mit der gleichen Version ersetzen. Wenn Sie derzeit verwenden MySQL 5.1 können Sie mit MariaDB 5.1 ersetzen. Wenn Sie 5.5 verwenden, verwenden Sie die entsprechenden. MariaDB v5.2 und v5.3 und verbesserte Versionen von 5.1.

  

oder muss ich ersetzen / recon Client-Treiber (wie die Verwendung einer anderen   JDBC-Treiberklasse und Verbindungszeichenfolge)?

Sie sollten nicht. beide MySQL und MariaDB verwenden das gleiche Protokoll und die allgemeine Syntax, aber es könnte ein paar Ausnahmen in einigen Fällen sein. Die URL in einer anderen Antwort zitiert ist eine großartige Ressource: http://kb.askmonty.org/ v / MariaDB-versus-mysql

Im Hinblick auf die Führerscheine gibt es Unterschiede, wenn Sie Ihr Projekt kommerziell zu vertreiben. In diesem Fall empfehlen Sie, dass ich die Lizenzbedingungen zu verdoppeln überprüfen und wenn Sie irgendwelche Bedenken haben, verwenden Sie die MariaDB / SkySQL Versionen der Anschlüsse wie in eine andere Antwort vorgeschlagen. Überprüfen Sie http://www.skysql.com/downloads/java-cc-connectors- MariaDB .

  

Oder werde ich selbst zu ändern Anwendungscode haben?

Der Anwendungscode sollte unverändert sein.

Nur ein wenig Feedback requarding die Kompatibilität mit MySQL-Treiber / CodeIgniter. Ich lief in die Probleme auf BIT vor wenigen Minuten Arten Attribute.

Wert wurde nicht vom Server retrived. Es war immer leer. Ich wurde mit Standard-CI-Datenbank-Konfiguration, die „mysql“ Treiber verwendet. Nach dem Wechsel wurde Fahrer im database.php auf „mysqli“ Problem gelöst.

Nur die Köpfe nach oben, dass es einige Unterschiede, wenn Sie alte MySQL-Treiber verwenden.

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

MariaDB-Client-API Version 5.5.40

MariaDB ist MySQL entwickelt.

Es ist auch die gleichen Entwickler, der hinter MySQL und MariaDB ist. Es ist fast das gleiche (wenn es nicht ist, kann ich nur sagen, MariaDB ist MySQL verbessert, Punkt).

Sie haben nicht zu ändern nichts in Ihrem PHP.

Entgegen der landläufigen Meinung, die Standard-Connector / J JDBC-Treiber für den Anschluss an und die Interaktion mit MySQL in Java nicht spielen gut mit MariaDB. Um die Arbeit mit MariaDB, müssen Sie Ihre Anwendung verwenden, um die Drizzle oder SkySQL Fahrer haben.

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

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top