web-dev-qa-db-ja.com

私のRailsプロジェクトでは、MySQLの代わりにMariaDBを使用してください

RailsプロジェクトでMySQLの代わりにMariaDBを使用するにはどうすればよいですか?

Mysql2 gemをインストールしようとすると、mysqlclientが見つからなかったため、エラーが返されます。

ここにいくつかの solution がありますが、openSUSE 12.3でlibmariadbd-devパッケージが見つかりませんでした。

20
rthink

OpenSUSEにMariaDBクライアント開発パッケージがあるようには見えません。 libmysqlclient-develパッケージパッケージをインストールする必要があります。 MariaDBはMySQLの置き換えのドロップとしてタグ付けされているため、MariaDBのわずかな改善を失う可能性がありますが、MySQLクライアントをサポートする必要があります。

Mysql2gemはMariaDBクライアントライブラリで機能するはずです。他のオプションは、mariadb-clientパッケージで十分であることを望んでおり、ライブラリのサードパーティパッケージを見つけるか、自分でインストールします。

UpdateopenSUSE用のMariaDBリポジトリ があります。開発パッケージと非常に優れた説明が含まれています。 /etc/zypp/repos.d/の下のファイルに以下を配置します

# 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

これでzypper install MariaDB-client MariaDB-develを実行できます


あなたの質問はUbuntuに関するものではありませんが、グーグルUbuntu(またはMintのようなその派生物)の多くの人々がこのページにたどり着くと確信しています。 Ubuntuでは、 MariaDB Foundationのppa を使用してすべてのパッケージをインストールする必要がありますが、パッケージにはすべての開発ライブラリが含まれ、5.5、10.0、10.1リリースをサポートしています。次に、mariadb-servermariadb-clientlibmariadbclient-devlibmariadbclient-dev:i386(32ビットクライアント)などのパッケージをインストールできます。

手順は簡単で、サイトで詳しく説明されています。たとえば、Ubuntu14.04に10.1開発ライブラリのみをインストールします

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

Linux Mintでは、次のものをインストールできました。

Sudo aptitude install libmariadbclient-dev:i386 libmariadbclient-dev

6

最近の場合buntu 15.04 vividおよびDebian 8.0 Jessie

Ppaからインストールする必要はありません(mariadb-serverが含まれています)が、libmariadb-client-lgpl-devlibmariadb-client-lgpl-dev-compatをインストールし、mariadb_configを使用するようにgemを構成する必要があります。

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

おそらく、mariadb_configに関連するエラーが発生しています。何かのようなもの

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. 

/ usr/binディレクトリに移動してこのコマンドを実行するだけです

Sudo ln -nfs mysql_config mariadb_config

これはあなたの問題を解決します。

0
Neeraj Kumar

Ubuntu 14.04.3 LTSSudo apt-get install libmariadbd-devを使用してインストールできます

https://mariadb.com/kb/en/mariadb/installing-mariadb-deb-files/ に従って、mariadbのaptリポジトリを追加するMariaDBをインストールしました。

0
Amit Patel

Rails 5(現在はまだベータ版)の時点で、MariaDBが正式にサポートされているため、実装が簡単になると思います。自分で試したことはありませんが。

これについては、Railsウェブログ:

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

0
Koen.