#mysql #ruby-on-rails #database #rake
#mysql #ruby-on-rails #База данных #rake
Вопрос:
Я получил проект rails в версии 2.3.8. Когда я попытался запустить rake db: create, произошла приведенная ниже ошибка.
Couldn't create database for {"encoding"=>"utf8", "username"=>"root", "adapter"=>"mysql", "database"=>"claims_test", "host"=>"localhost", "password"=>"root", "socket"=>"/var/run/mysqld/mysqld.sock"}, charset: utf8, collation: utf8_unicode_ci
(if you set the charset manually, make sure you have a matching collation)
И я создал DB вручную и попытался запустить приложение. И теперь я получаю эту ошибку.
/! FAILSAFE /! Tue May 10 20:38:48 0530 2011
Status: 500 Internal Server Error
uninitialized constant MysqlCompat::MysqlRes
Я пробовал как с Webrick, так и с mongrel, и, похоже, у обеих проблем одна и та же причина.
Ответ №1:
Ах, эта ошибка настолько распространена. Это MySQL. Вот решение. Измените пути по мере необходимости. Дайте нам знать, как у вас дела. Всего наилучшего.
export ARCHFLAGS="-arch i386 -arch x86_64" gem install mysql -- --with-mysql-dir=/usr/local --with-mysql-config=/usr/local/bin/mysql_config
Комментарии:
1. Я не думаю, что этот ответ применим в 2016 году.
Ответ №2:
Я столкнулся с той же ошибкой. В моем случае проблема заключалась в том, что я не создал пользователя MySQL, который был указан в database.yml
.
mysql --user=root mysql
grant all privileges on *.* to 'user_name_here'@'localhost' identified by 'password_here';
exit;