xxx.s500

トップ | 最近の更新 | このサイトについて | rss2.0

[server] [mysql] 設定メモ

文字化け対策

debian8.1、mysql5.5の場合こうだった。

/etc/my.cnf 内の各項目に追記

[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; で権限の反映をさせるものだと思うのだけど、この操作は必要ないのかも知れない。どうなんだろ?