人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

【MySQLのエラー】
RoRで遊んでいます。以下のエラーを解決してください
>>ActiveRecord::StatementInvalid in AddressController#index
>>Mysql::Error: You have an error in your SQL syntax near 'NAMES 'utf8'' at line 1: SET NAMES 'utf8'
>>RAILS_ROOT: script/../config/..

環境は
FedoraCore3
apache
MySQL3.x
の他、RoR環境については
http://itpro.nikkeibp.co.jp/article/COLUMN/20060424/236113/?ST=lin-server&P=3
こちらを参考に構築しました。

参考になるかわかりませんが、主要な設定ファイルのエンコード関連の部位を抜粋します。
■myconf
>>[mysqld]
>>default-character-set = utf8
>>[mysql]
>>default-character-set = utf8

■database.yml
>>development:
>> adapter: mysql
>> encoding: utf8

また、以下の2点もお役に立てば…
1.MySQLのバージョンが原因との噂があったので、yumでアップデートしようにもMySQL4.1.22でなく、MySQL3.xを最新といってくるのにも困っています
2.先述の参考サイトで、SQL文「SET NAMES utf8;」のみ設定できていません。phpMyAdminには設定項目が見つからなかったのです。

かなり初心者ですが、ネバってもこの程度でした。ご指導よろしくお願いします。

●質問者: yshkw
●カテゴリ:ウェブ制作
✍キーワード:ActiveRecord Adapter Apache AT config
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● b-wind
●35ポイント

MySQLのバージョンが原因との噂

噂じゃなくてそれが原因です。

http://dev.mysql.com/downloads/mysql/5.0.html

ここからダウンロードすればよい。

RPM の形態が違う可能性があるので現在のバージョンのものは先にアンインストールしておく事。


SQL文「SET NAMES utf8;」のみ設定できていません。phpMyAdminには設定項目が見つからなかったのです。

サーバー設定等ではないので項目は無い。

MySQL4.1 以上でないと対応していないのでアップグレードするしかない。


Rails の方で「SET NAMES utf8;」を削るだけでも動くかもしれないが、後々その差に悩まされる事になりそうなのでお勧めしない。

遊ぶだけなら Fedora 自体を最新にする事をオススメする。

◎質問者からの返答

オススメ通り

fedoracore6

mysql5.0.27

に環境を更新して同様のことをしたところ今度は、このエラーが出ました。

>>ActiveRecord::StatementInvalid in AddressController#index

>>Mysql::Error: Lost connection to MySQL server during query: SET NAMES 'utf8'

これは何が原因でしょうか?

追記:

今度はこんなエラーが。どこの設定をいじればいいのでしょう?

Mysql::Error: Lost connection to MySQL server during query: SHOW FIELDS FROM people


2 ● b-wind
●35ポイント

Lost connection to MySQL server during query: SET NAMES 'utf8'

Lost connection to MySQL server during query: SHOW FIELDS FROM people

双方ともクエリの途中で接続が切断されていますね。

これは設定の問題と言うよりは動作が不安定な場合に起こりがちなエラーです。

http://dev.mysql.com/doc/refman/4.1/ja/problems.html

http://dev.mysql.com/doc/refman/4.1/ja/error-log.html

エラーログに何か原因が書かれていないか確認してみるとよいでしょう。

◎質問者からの返答

やっぱりちゃんとmysqlを勉強しなきゃ、ですね。

rubyonrails、そんなに簡単ではないことがわかりました。

いろいろいじりたかったんですけどねー

では締め切ります

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ