oranie's blog

旧:iをgに変えると・・・なんだっけ・・・

MySQL5.5をインストールした時にError: io_setup()が出た時の対処法

[2011/11/18 追記]
僕の環境では@sh2ndさんに追加コメントで指摘を頂いたkernelパラメータを確認してみた所、
sysctl -a | grep aioで引っかかった奴で

fs.aio-max-nr = 65536
fs.aio-nr = 65536

という値が設定されていた。で、とりあえずでかくしてみるかーで、
sysctl.confに

fs.aio-max-nr = 1048576
fs.aio-nr = 1048576

にした所、maxの方は反映出来たけど、fs.aio-nrは

error: "Operation not permitted" setting key "fs.aio-nr"

と出た・・・ナニコレ・・・(・ω・)


まあ、とりあえずMax値は変えたので、aioを有効にして起動してみた所、無事起動できました!
おそらくOracleがインストール時に書き換えるパラメータっぽいので、ここが引っかかったのかな・・・。
とりあえず、ここの動作あまり良く分かっていないので、時間あればちゃんと調べる。

                                                                                                                                                                        • -

今日、元々Oracleが入っていたRHEL5.3サーバにMySQL5.5を共存させようとした所、
インストール完了後に初期起動時に以下のリンク先に書いているエラーが出た。
http://bugs.mysql.com/bug.php?id=61575


要はLinuxのAIO絡みで起動時にエラーになっているっぽい・・・。
で、エラーログに吐かれている対処法

innodb_native_aio=off 

を試してもダメだった・・・。kernelパラメータはOracle側の設定した人が
いなかったので弄りたくなかったので、逃げの一手でMySQL 5.1インストールして
これでいいやー(´∀`)
とかつぶやいていた所、またも神の一言を頂きました。

@sh2nd

@oranie ほんとうにこのバグだったら、my.cnfでinnodb_use_native_aio=0、
あるいはsysctl.confでfs.aio-max-nr = 1048576で動きませんか?
うちはCentOS 5.7で11gR2と5.5共存できています
http://twitter.com/#!/sh2nd/status/128727072846774272
@sh2nd

@oranie ちょっとしたワナですがoffは設定値として無効で無視されるので、
デフォルトのAIO有効のまま起動してきます。無効にするには数字のゼロです
http://twitter.com/#!/sh2nd/status/128729711823175680
Σ(゚Д゚;)ナ、ナンダッテー

で、教えて頂いた

innodb_use_native_aio=0

をmy.cnfに追記した所無事動きました(ノД`)・゜・。


今日も人のお陰で生きている負け越しエンジニアです!