Установка ruby ​​mysql gem с сервером percona

Новая установка cent os 5.4; чистая установка сервера percona xtradb (версия сервера: 5.1.56-rel12.7 Percona Server (GPL), 12.7, редакция 224) gem install mysql не удалось с выводом

/usr/local/rvm/rubies/ruby-1.9.2-p180/bin/ruby extconf.rb
checking for mysql_query() in -lmysqlclient... yes
checking for mysql_ssl_set()... yes
checking for rb_str_set_len()... yes
checking for rb_thread_start_timer()... no
checking for mysql.h... no
checking for mysql/mysql.h... no
*** extconf.rb failed ***

что, по-видимому, указывает на то, что он не может найти библиотеки разработчиков. Я знаю, что обычно использую дополнительные параметры -- --with-mysql-lib=..., но я не верю, что они устанавливаются как часть обычной установки percona, описанной здесь: информация о репозиториях percona

Итак, я попытался выполнить yum install mysql-devel, но получил конфликт с материалом percona. Я нашел этот пост, где предлагаемое решение использовало параметр --with-mysql-config. Percona не устанавливает автоматически файл my.cnf в /etc/my.cnf при установке, поэтому я сделал один файл и поместил его туда, потому что скрипт init.d для mysql проверяет его именно там. Перезапустил mysql, подтвердил, что теперь он загружает эту конфигурацию, и снова попытался установить, но все равно не удалось с

"Exec format error - /etc/my.cnf --cflags (Errno::ENOEXEC)"

Спасибо за любую помощь

Я также сделал find/-name mysql.h и ничего, поэтому похоже, что необходимые библиотеки отсутствуют после установки как сервера percona, так и клиента с yum


person wkhatch    schedule 23.06.2011    source источник
comment
после дня возни с этим я сдался и вернулся к простому ванильному MySQL. Буквально через минуту и ​​я готов идти. Облом, я знаю, что перкона крута, но мне нужно было что-то запустить на сервере, так что, возможно, я смогу обновить ее в какой-то момент в будущем.   -  person wkhatch    schedule 25.06.2011


Ответы (4)


Если вы правильно добавили репозиторий Percona yum, вам просто нужно установить пакет Percona-Server-devel:

yum install Percona-Server-devel-55

Замените 55 версией Percona Server, которую вы используете в данный момент.

После этого драгоценные камни mysql будут установлены правильно.

person Tomy    schedule 04.03.2012
comment
спасибо, Азад. Я скоро попробую, и если это сработает, приму ответ. Спасибо еще раз - person wkhatch; 08.03.2012

Я переустановил libmysqlclient-dev из Percona.

А затем переустановил драгоценные камни mysql и mysql2.

person Oleksandr Slynko    schedule 05.08.2011
comment
Можете ли вы уточнить немного больше; Я не понимаю вашего ответа. Мне бы хотелось найти решение, и я был бы более чем рад принять ваш ответ, если он сработает. Спасибо - person wkhatch; 13.08.2011
comment
простите, пропущенное слово. Переустановил - person Oleksandr Slynko; 15.08.2011
comment
Спасибо, Алекс. Просто для ясности, вы переустанавливали это отдельно/в дополнение к серверному пакету, верно? Извините за потенциально глупый; подумал, что лучше просто спросить сейчас... Еще раз спасибо - person wkhatch; 15.08.2011

После тревожных часов и часов и многих часов:

Нашел следующее для установки драгоценного камня mysql с percona 5.6:

http://www.percona.com/doc/percona-server/5.6/release-notes/Percona-Server-5.6.16-64.1.html

гем удалить mysql

apt-get remove mysql-server mysql-server-5.5 mysql-client mysql-client-5.5 mysql-client-core-5.5 mysql-server-core-5.5 mysql-common libmysqlclient18:i386 libmysqlclient18:amd64

apt-get установить перкона-сервер-сервер-5.6 перкона-сервер-клиент-5.6

компакт-диск /usr/lib/x86_64-linux-gnu

mv libmysqlclient.so.18.0.0 libmysqlclient.so.18.0.0-резервная копия

ln -s libperconaserverclient.so.18.1.0 libmysqlclient.so.18.0.0

rm -rf /home/slat/.rvm/gems/ruby-XXXXX/gems/mysql*

гем установить mysql

YIHAA - это работает!

person user3833401    schedule 13.07.2014

Для любых новых людей, пытающихся установить этот драгоценный камень (этот вопрос появляется высоко в поисковой выдаче), убедитесь, что вы передаете каталог mysql, например:

 gem install mysql2 -- --with-mysql-dir=/usr/local/mysql
person Kevin    schedule 19.08.2016