質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Q&A

解決済

2回答

1187閲覧

my.cnfの設定が効かない

yoshi7

総合スコア48

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

0グッド

0クリップ

投稿2017/12/28 11:58

MySQL 5.5.57を使っています。
(AWSのAmazon Linux AMIに入れてます)

文字コードをutf8からutf8mb4に変更しようと考えています。
my.cnfの設定を下記のようにしました。

[mysqld] character-set-server = utf8mb4 [mysql] default-character-set = utf8mb4

その後、MySQLを再起動しましたが、
設定が変わったのはcharacter_set_serverだけで、
クライアント側の項目(例えばcharacter_set_client)はutf8のままでした。

[mysql]を[client]に変更してみても結果は変わりません。
他にmy.cnfが存在するのかもとfindコマンドで調査してみましたがありません。

変わらない原因は何が考えられるでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

自己解決

my.cnfの設定は効いていました。
MySQL Workbenchで文字コードを確認していたため、
クライアント関連の文字コードはMySQL Workbenchに依存していました。

また、cake3の設定もapp.phpのDatasourcesのdefaultのencodingをutf8mb4に変更することで、
文字化けしなくなりました。

投稿2018/01/04 04:29

yoshi7

総合スコア48

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

MySQL 5.5 は標準サポートがすでに終了しています(有償版を使っていて、かつ Extended Support を契約している場合を除く)。セキュリティ上の問題があるので、今すぐ現行の MySQL 5.7 へアップグレードすることを強くおすすめします。

設定内容は合っていますし、character_set_server が変わったということはその設定ファイルも正しく読み込まれているようなので、その確認したクライアントが utf8 を指定して接続していないか確認してみてください。

mysqlコマンド(標準のコンソール)で確認するのが確実だと思います。

mysql> SHOW VARIABLES LIKE 'character\_set\_%'; +--------------------------+---------+ | Variable_name | Value | +--------------------------+---------+ | character_set_client | utf8mb4 | | character_set_connection | utf8mb4 | | character_set_database | utf8mb4 | | character_set_filesystem | binary | | character_set_results | utf8mb4 | | character_set_server | utf8mb4 | | character_set_system | utf8 | +--------------------------+---------+ 7 rows in set (0.01 sec)

投稿2017/12/29 02:15

miyahan

総合スコア3095

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yoshi7

2018/01/04 03:03

バージョン情報ありがとうございました。 早急に5.7に上げたいと思います。 それから、MySQLの経験が浅いのでよく解らないのですが、 my.cnf以外でクライアントの文字コードを設定できるところって何があるのでしょうか? 試しにdefault-character-setにujisを設定してMySQLを再起動してみました。 MySQLコマンドで接続して「show variables like "chara%";」を実行すると クライアント関連の項目はujisに変更されていましたが、 MySQL Workbenchで「show variables like "chara%";」を実行するとutf8のままでした。 尚、my.cnfの設定が効かないというのはMySQL Workbenchで確認している内容になります。 また、Cake3を使ってシステムを構築していますが、 画面から絵文字を入力するとテーブルには「????」で保存されます。 cake3の設定も何処か変更しないといけないのでしょうか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問