new - Usar MariaDB en lugar de MySQL en mi proyecto Rails
ruby mysql (6)
A partir de Rails 5 (actualmente todavía en versión beta), MariaDB es oficialmente compatible, lo que creo que debería facilitar la implementación. Aunque no lo he probado yo mismo.
Puedes leerlo en el blogpost en el blog de Rails:
http://weblog.rubyonrails.org/2016/4/16/this-week-in-rails-mariadb-action-cable-and-more/
¿Cómo puedo usar MariaDB en lugar de MySQL en mi proyecto Rails?
Cuando intento instalar la gema mysql2, se devuelve un error porque no se encontró mysqlclient.
Aquí hay una solution , pero no encontré ningún paquete libmariadbd-dev en mi openSUSE 12.3.
En Ubuntu 14.04.3 LTS
puedo instalar con sudo apt-get install libmariadbd-dev
Seguí https://mariadb.com/kb/en/mariadb/installing-mariadb-deb-files/ para instalar MariaDB que agrega el repositorio apt para maria db.
En linux mint pude instalar:
sudo aptitude install libmariadbclient-dev:i386 libmariadbclient-dev
No parece que openSUSE tenga un paquete de desarrollo de cliente MariaDB. Debe instalar el paquete de paquetes libmysqlclient-devel. Dado que MariaDB está etiquetado como un reemplazo para MySQL, tendría que ser compatible con los clientes MySQL, aunque es posible que pierda pequeñas partes de las mejoras de MariaDB.
Parece que la gema mysql2 debería funcionar con las bibliotecas cliente de MariaDB. Otras opciones esperan que el paquete mariadb-client sea suficiente, encuentre un paquete de terceros para las bibliotecas o instálelo usted mismo.
Actualización Ahora hay un repositorio de MariaDB para openSUSE . Incluye un paquete de desarrollo, y muy buenas instrucciones. Coloque lo siguiente en un archivo en /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
Ahora puedes ejecutar zypper install MariaDB-client MariaDB-devel
Su pregunta no es sobre Ubuntu, pero estoy seguro de que mucha gente que busca en Google Ubuntu (o sus derivados como Mint) aterrizará en esta página. En Ubuntu, debe instalar todos los paquetes utilizando el ppa de la Fundación MariaDB , pero incluyen todas las bibliotecas de desarrollo y son compatibles con las versiones 5.5, 10.0 y 10.1. Luego, puede instalar paquetes como mariadb-server
, mariadb-client
, libmariadbclient-dev
y libmariadbclient-dev:i386
(cliente de 32 bits).
Las instrucciones son simples y detalladas en el sitio. Por ejemplo, instalando solo las bibliotecas 10.1 dev en 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
Para ubuntu reciente 15.04 vivid y Debian 8.0 Jessie :
No es necesario instalar desde un ppa (se mariadb-server
), pero debe instalar libmariadb-client-lgpl-dev
y libmariadb-client-lgpl-dev-compat
y configurar la gema para usar 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
Probablemente estés recibiendo un error relacionado con mariadb_config. Algo como
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.
Solo tiene que ir al directorio / usr / bin y ejecutar este comando
sudo ln -nfs mysql_config mariadb_config
Esto resolverá tu problema.