如何在我的Rails項目中使用MariaDB而不是MySQL?在我的Rails項目中使用MariaDB代替MySQL
當我嘗試安裝mysql2 gem時,它返回錯誤,因爲mysqlclient未找到。
這裏有一些solution,但我沒有在我的openSUSE 12.3上找到任何libmariadbd-dev包。
如何在我的Rails項目中使用MariaDB而不是MySQL?在我的Rails項目中使用MariaDB代替MySQL
當我嘗試安裝mysql2 gem時,它返回錯誤,因爲mysqlclient未找到。
這裏有一些solution,但我沒有在我的openSUSE 12.3上找到任何libmariadbd-dev包。
它看起來不像openSUSE有MariaDB客戶端開發包。您必須安裝libmysqlclient-devel軟件包。由於MariaDB被標記爲MySQL的替代品,它將不得不支持MySQL客戶端,儘管您可能會失去一點MariaDB改進。
似乎mysql2 gem應該與MariaDB客戶端庫一起工作。其他選項希望mariadb-client軟件包足夠,爲圖書館找到第三方軟件包或自行安裝它們。
更新 現在有一個MariaDB repository for openSUSE。它包含一個開發包和非常好的說明。放到一個文件下面的下/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的,但我敢肯定有很多Google Googling Ubuntu(或其衍生品如Mint)將登陸此頁面。在Ubuntu中,您必須使用MariaDB Foundation's ppa安裝所有軟件包,但它們包含所有開發庫並支持5.5,10.0和10.1版本。然後,您可以安裝軟件包,如mariadb-server
,mariadb-client
,libmariadbclient-dev
和libmariadbclient-dev:i386
(32位客戶端)。
說明在網站上很簡單和詳細。例如,在Ubuntu 14.04
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
僅安裝10.1開發庫在Linux Mint的,我能夠安裝:
sudo aptitude install libmariadbclient-dev:i386 libmariadbclient-dev
對於近期的Ubuntu 15.04生動和的Debian 8.0傑西:
無需從ppa安裝(包括mariadb-server
),但您必須安裝libmariadb-client-lgpl-dev
和libmariadb-client-lgpl-dev-compat
和配置寶石使用mariadb_config
:
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
同樣適用於Debian 8.0 Jessie。 libmariadb-client-lgpl-dev-compat應該有一個適用於mariadb_config的符號鏈接。 – Lloeki 2015-06-11 11:35:40
也許你正在使用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目錄並運行此命令
須藤LN -nfs mysql_config mariadb_config
這將解決您的問題。
在Ubuntu 14.04.3 LTS
我能夠與sudo apt-get install libmariadbd-dev
安裝我跟着https://mariadb.com/kb/en/mariadb/installing-mariadb-deb-files/安裝MariaDB的它增加了APT倉庫瑪麗亞分貝。
從Rails 5(目前仍處於測試階段)開始,MariaDB得到官方支持,我認爲這應該可以緩解實施。雖然我自己沒有嘗試過。
可以在軌道上的博客博客帖子讀到它:
http://weblog.rubyonrails.org/2016/4/16/this-week-in-rails-mariadb-action-cable-and-more/
你應該把你的解決方案作爲一個答案,然後選擇它作爲公認的答案。現在,這個問題在統計數據中顯示爲未被回答。 – 2013-07-04 02:58:23