hello-world.jp.net
webエンジニアのメモ。とりあえずやってみる。

[mysql][rails]Character set 'utf8mb4' is not a compiled character set and is not specified in the '/usr/share/mysql/charsets/Index.xml' file

公開日時

mysql5.1が動いていた環境をmysql5.6にアップデートした後、rake db:createで utf8mb4のDBを作成しようとしたところ以下のエラーが発生

./bin/rake db:create

Warning: You're using Rubygems 2.0.14 with Spring. Upgrade to at least Rubygems 2.1.0 and run `gem pristine --all` for better startup performance.
Character set 'utf8mb4' is not a compiled character set and is not specified in the '/usr/share/mysql/charsets/Index.xml' file
Couldn't create database for {"adapter"=>"mysql2", "encoding"=>"utf8mb4", "charset"=>"utf8mb4", "collation"=>"utf8mb4_general_ci", "pool"=>5, "username"=>"sample", "password"=>"*****", "database"=>"sample_development"}, {:charset=>"utf8mb4", :collation=>"utf8mb4_general_ci"}
(If you set the charset manually, make sure you have a matching collation)

rubyのバージョンも2.0だったので2.1にアップデートして再度bundle installからやり直してみたところ、うまく動いた。

備忘録としてメモ。


Related #MySQL

Mysql2::Error: Specified key was too long; max key length is 767 bytes limit

railsでactive\_adminのmigrationを行う際に以下のようなエラーが出ました

[rails][mysql]Can't connect to local MySQL server through socket '/tmp/mysql.sock'

Railsアプリを起動しようとした際に `Can't connect to local MySQL server through socket '/tmp/mysql.sock'` というエラーが発生。

vagrantでmysqlレプリケーション実験環境をお手軽作成

mysqlのレプリケーション設定をする機会があったので、実環境で試す前に実験してみたいと思い、vagrantを使ってレプリケーション設定用のサーバを立ててみました。

ログファイルを空にする方法

ローカル環境ではmysqlのクエリログを出力するようにしているのですが、放置していたらかなりの容量になってきたので一度空にしようと思って調べてみました。