rails new migraciones example ejecutar conectar con mysql ruby-on-rails mysql2 mariadb

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 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.