debian8.1、mysql5.5の場合こうだった。
[client] default-character-set=utf8 [mysqld] character-set-server = utf8 [mysql] default-character-set=utf8
mysql> show variables like "char%"; +--------------------------+----------------------------+ | Variable_name | Value | +--------------------------+----------------------------+ | character_set_client | utf8 | | character_set_connection | utf8 | | character_set_database | utf8 | | character_set_filesystem | binary | | character_set_results | utf8 | | character_set_server | utf8 | | character_set_system | utf8 | | character_sets_dir | /usr/share/mysql/charsets/ | +--------------------------+----------------------------+ 8 rows in set (0.02 sec)
面倒臭がらずに文字コードを指定する
create table dbtest.posts(
id int auto_increment,
date bigint not null,
text text not null,
PRIMARY KEY (id)
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
mysql> GRANT ALL PRIVILEGES ON *.* TO username@localhost -> IDENTIFIED BY 'password'; mysql> FLUSH PRIVILEGES;
FLUSH PRIVILEGES; で権限の反映をさせるものだと思うのだけど、この操作は必要ないのかも知れない。どうなんだろ?