ser-0.8.14 + mysql-4.1.9

| コメント(6) | トラックバック(0)

ser_mysql.shしようとすると、"Specified key was too long; max key length is 1000 bytes"となる。
はまっている人もいるようですが、解決策は見いだせず…
utf-8が1文字3バイトだから333文字しか入らないとかとは関係ないと思うが…
ujisだから500文字? ujisも3バイト文字あるから?
ujisやめるにはコンパイルしなおし?
うーーーむ、ser_mysql.shのqueryを分割すればいいのかな…

トラックバック(0)

トラックバックURL: http://www.airy.org/pub/mt/mt-tb.cgi/41

コメント(6)

ser_mysql.shの最後の"sql_query

いっそのことmysqlを改造と思ったのだが、include/myisam.hのMI_MAX_KEY_LENGTH?
それともsql/unireg.hのMAX_KEY_LENGTH? (本命?)
でもその下に1024という値がたくさん埋め込まれていて、関連性不明のためそう簡単にはいじれなさそう…
でも必要に応じて伸ばしてくれとも書いてあるし…うーむ。
ファイルから入れたりもしたけどとりあえず失敗。

そうかぁ、keyが長いんじゃファイルから食わしても同じか…
subscriberをCREATE TABLEするところが長過ぎるらしい。
1040バイト? 頑張れば詰まるか??

MI_MAX_KEY_LENGTHを増やしているところを発見。下の1024あたりも増えていなさそうなのでこれを増やしてみることにしよう…

…と思ったら結局1024バイトでつまりました。
当初予定通りMI_MAX_KEY_LENGTHを2000に、MAX_KEY_LENGTHを2048に増やして対応。一応ser_mysql.shはそのまま通った!
あとserが動くかどうかだな…

mysql.soがmakeされない(cd modules/mysql; make; cp mysql.so /usr/local/lib/ser/modules/ で対応),
/usr/local/mysql/lib/mysqlにLD_LIBRARY_PATHが通っていないなどありつつ/usr/local/sbin/ser 通った~!
serctl addなども成功、あとはsubscriberがREGISTERできれば大丈夫ってことかな…
…とここまで行ってつまってしまった。最近のWindows MessengerってSIP設定できないのでしょうか…

コメントする

このブログ記事について

このページは、Airが2005年1月26日 01:06に書いたブログ記事です。

ひとつ前のブログ記事は「早期退職」です。

次のブログ記事は「シンガポール」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。