it-swarm.com.de

Verwenden Sie MariaDB anstelle von MySQL in meinem Rails-Projekt

Wie kann ich MariaDB anstelle von MySQL in meinem Rails-Projekt verwenden?

Wenn ich versuche, mysql2 gem zu installieren, wird ein Fehler ausgegeben, da mysqlclient nicht gefunden wurde.

Hier einige Lösung , aber ich habe kein libmariadbd-dev -Paket auf meinem openSUSE 12.3 gefunden.

20
rthink

OpenSUSE verfügt nicht über ein MariaDB-Client-Entwicklungspaket. Sie müssen das Paket libmysqlclient-devel installieren. Da MariaDB als Ersatz für MySQL gekennzeichnet ist, müsste es die MySQL-Clients unterstützen, auch wenn Sie möglicherweise ein paar kleine Verbesserungen an MariaDB verlieren.

Es scheint, dass der mysql2 gem mit den MariaDB-Clientbibliotheken funktionieren sollte. Andere Optionen sind die Hoffnung, dass das mariadb-client-Paket ausreicht. Suchen Sie ein Drittanbieter-Paket für die Bibliotheken oder installieren Sie es selbst.

Update Es gibt jetzt ein MariaDB-Repository für openSUSE . Es enthält ein Entwicklungspaket und sehr gute Anweisungen. Fügen Sie Folgendes in eine Datei unter /etc/zypp/repos.d/ ein

# MariaDB 10.1 openSUSE repository list - created 2015-10-20 16:37 UTC
# http://mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.1/opensuse13-AMD64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

Jetzt können Sie zypper install MariaDB-client MariaDB-devel ausführen.


Ihre Frage bezieht sich nicht auf Ubuntu, aber ich bin sicher, dass viele Leute, die Ubuntu (oder ihre Derivate wie Mint) googeln, auf dieser Seite landen werden. In Ubuntu müssen Sie alle Pakete mithilfe von MariaDB Foundation ppa installieren. Sie enthalten jedoch alle Entwicklungsbibliotheken und unterstützen die Versionen 5.5, 10.0 und 10.1. Dann können Sie Pakete wie mariadb-server, mariadb-client, libmariadbclient-dev und libmariadbclient-dev:i386 (32-Bit-Client) installieren.

Die Anweisungen sind auf der Website einfach und detailliert. B. nur die 10.1-Dev-Bibliotheken in Ubuntu 14.04 installieren

Sudo apt-get install software-properties-common
Sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xcbcb082a1bb943db
Sudo add-apt-repository 'deb http://mirrors.syringanetworks.net/mariadb/repo/10.1/ubuntu trusty main'
Sudo apt-get update
Sudo apt-get install libmariadbclient-dev
13
jbo5112

Auf Linux Mint konnte ich Folgendes installieren:

Sudo aptitude install libmariadbclient-dev:i386 libmariadbclient-dev

6

Für aktuelle ubuntu 15.04 vivid und Debian 8.0 Jessie :

Es ist keine Installation von einem ppa erforderlich (mariadb-server ist enthalten), aber Sie müssen libmariadb-client-lgpl-dev und libmariadb-client-lgpl-dev-compat installieren und den gem für die Verwendung von mariadb_config konfigurieren:

apt-get install mariadb-server libmariadb-client-lgpl-dev libmariadb-client-lgpl-dev-compat

gem install mysql2 -- --with-mysql-config=/usr/bin/mariadb_config

# or for bundler
bundle config build.mysql2 --with-mysql-config=/usr/bin/mariadb_config
bundle install
5
Markus

Möglicherweise erhalten Sie einen Fehler im Zusammenhang mit mariadb_config. So etwas wie 

Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

    /home/dev/.rbenv/versions/2.1.5/bin/Ruby extconf.rb --with-mysql-config=/usr/bin/mariadb_config
checking for Ruby/thread.h... yes
checking for rb_thread_call_without_gvl() in Ruby/thread.h... yes
checking for rb_thread_blocking_region()... yes
checking for rb_wait_for_single_fd()... yes
checking for rb_hash_dup()... yes
checking for rb_intern3()... yes
-----
Cannot find mysql_config at /usr/bin/mariadb_config
-----
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers.  Check the mkmf.log file for more details. 

Sie müssen nur das Verzeichnis/usr/bin aufrufen und diesen Befehl ausführen 

Sudo ln -nfs mysql_config mariadb_config

Damit lösen Sie Ihr Problem.

0
Neeraj Kumar

In Ubuntu 14.04.3 LTS kann ich mit Sudo apt-get install libmariadbd-dev installieren

Ich folgte https://mariadb.com/kb/de/mariadb/installing-mariadb-deb-files/ - , um MariaDB zu installieren, die das apt-Repository für maria db hinzufügt.

0
Amit Patel

Seit Rails 5 (derzeit noch in der Beta-Phase) wird MariaDB offiziell unterstützt, was meiner Meinung nach die Implementierung erleichtern sollte. Obwohl ich es selbst nicht probiert habe.

Sie können darüber im Blogpost des Rails-Weblogs nachlesen:

http://weblog.rubyonrails.org/2016/4/16/this-week-in-Rails-mariadb-action-cable-and-more/

0
Koen.