【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には設定項目が見つからなかったのです。

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

回答の条件
  • 1人2回まで
  • 登録:2007/01/08 05:02:17
  • 終了:2007/01/09 02:00:58

回答(2件)

id:b-wind No.1

b-wind回答回数3344ベストアンサー獲得回数4402007/01/08 12:54:30

ポイント35pt

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

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

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

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

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


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

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

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


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

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

id:yshkw

オススメ通り

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

2007/01/09 00:27:13
id:b-wind No.2

b-wind回答回数3344ベストアンサー獲得回数4402007/01/09 00:49:24

ポイント35pt

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

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

id:yshkw

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

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

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

では締め切ります

2007/01/09 02:00:41

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません