Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在我的Rails项目中使用MariaDB而不是MySQL_Mysql_Ruby On Rails_Mysql2_Mariadb - Fatal编程技术网

在我的Rails项目中使用MariaDB而不是MySQL

在我的Rails项目中使用MariaDB而不是MySQL,mysql,ruby-on-rails,mysql2,mariadb,Mysql,Ruby On Rails,Mysql2,Mariadb,如何在Rails项目中使用MariaDB而不是MySQL 当我尝试安装mysql2 gem时,它返回错误,因为找不到mysqlclient 这里有一些,但我没有在我的openSUSE 12.3上找到任何libmariadbd dev包。看起来openSUSE没有MariaDB客户端开发包。必须安装libmysqlclient-devel包。由于MariaDB被标记为MySQL的替代品,因此它必须支持MySQL客户端,尽管您可能会失去MariaDB的一些改进 mysql2 gem似乎应该与Mari

如何在Rails项目中使用MariaDB而不是MySQL

当我尝试安装mysql2 gem时,它返回错误,因为找不到mysqlclient


这里有一些,但我没有在我的openSUSE 12.3上找到任何libmariadbd dev包。

看起来openSUSE没有MariaDB客户端开发包。必须安装libmysqlclient-devel包。由于MariaDB被标记为MySQL的替代品,因此它必须支持MySQL客户端,尽管您可能会失去MariaDB的一些改进

mysql2 gem似乎应该与MariaDB客户端库一起工作。其他选择是希望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安装MariaDB客户端MariaDB-devel


你的问题不是关于Ubuntu的,但我相信很多人在谷歌上搜索Ubuntu(或它的衍生产品,如Mint)都会登陆这个页面。在Ubuntu中,您必须使用安装所有软件包,但它们包括所有开发库,并支持5.5、10.0和10.1版本。然后,您可以安装诸如
mariadb服务器
mariadb客户端
libmariadbclient dev
,以及
libmariadbclient dev:i386
(32位客户端)等软件包

现场的说明简单而详细。例如,在Ubuntu 14.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

在linux mint上,我能够安装:


sudo aptitude安装libmariadbclient dev:i386 libmariadbclient dev

用于最近的ubuntu 15.04 vividDebian 8.0 Jessie

无需从ppa安装(
mariadb服务器
),但必须安装
libmariadb客户端lgpl-dev
libmariadb客户端lgpl-dev-compat
,并将gem配置为使用
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

可能您正在获取与mariadb_配置相关的错误。差不多

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\u config mariadb\u config


这将解决您的问题。

Ubuntu 14.04.3 LTS
中,我可以使用
sudo-apt-get-install-libmariadbd-dev

我随后安装了MariaDB,它为maria db添加了apt存储库。

从Rails 5开始(目前仍处于测试阶段),MariaDB得到了官方支持,我认为这应该会简化实现。虽然我自己还没试过

您可以在Rails博客上的blogpost中阅读:


您应该将您的解决方案作为答案,然后选择它作为接受的答案。现在,这个问题在统计中显示为未回答。同样适用于Debian 8.0 Jessie。libmariadb客户机lgpl dev compat实际上应该有一个mariadb_config的符号链接。