Quantcast
Channel: Planet MySQL
Viewing all articles
Browse latest Browse all 1081

MySQL の unknown option エラーはオプションに loose- プレフィックスをつけると回避できる

$
0
0

もうMySQL 5.5 GAが出てから1年以上が経ち、つい先日とうとうMySQL 5.6 GAも出た昨今、これから先パーソナルユースでこれより以前のMySQLなど使うことはないだろうと~/.my.cnfを書いていたのだけど、昨日ちょっとしたアレでMySQL 5.1を入れたらMySQLが進化しすぎててオプションコメントアウトしまくらないと動かないわーとかいってたらloose-つけるといいですよって教えてもらった。

my.cnfのオプション名の頭にloose-と書いておくと、オプションが存在しなくてもWARNINGでERRORにならずに済みますよー。loose-log-slow-queriesloose-slow-query-logと書くと5.1でも5.5でも使える、みたいな。

— ts. yoku (@yoku0825) February 6, 2013

これは知らなかった!

MySQL 5.1とか使うことはまぁないだろうけど、いろんなバージョン試してるときに明らかに新しめのオプションにloose-つけとくと便利そう。とりあえず今回は以下のオプションにloose-つけたらいけた。

[mysqld]
loose_innodb_strict_mode = 1 
loose_innodb_buffer_pool_instances = 1 
loose_innodb_read_io_threads = 8 
loose_innodb_write_io_threads = 8 
loose_innodb_file_format = Barracuda
loose_innodb_print_all_deadlocks = 1 
loose_innodb_large_prefix

あとcharacter_set_server = utf8mb4でこけるのは、オプションはあるけど値が未対応なやつなので、my.cnfのグループをバージョン指定して読み込めるやつを使って回避した。

[mysqld]
character_set_server = utf8mb4

[mysqld-5.1]
character_set_server = utf8

my.cnfのオプション指定は後勝ちなんで、MySQL 5.1のときはutf8、それ以外のときはutf8mb4という感じに指定できます。

あと、最新のMySQLをソースからとりあえず深く考えずにビルドしてみたい向きにはmysql-buildを使うといいらしいです。

参考


PlanetMySQL Voting: Vote UP / Vote DOWN

Viewing all articles
Browse latest Browse all 1081

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>