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

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

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

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

UTF-8

UTF-8は8ビット符号単位の文字符号化形式及び文字符号化スキームです。データ交換方式、ファイル形式としては、一般的にUTF-8が使われる傾向があります。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

Q&A

2回答

3555閲覧

MySQLにutf8を代入する件(mac)

mysqlldutf8

総合スコア10

MySQL

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

UTF-8

UTF-8は8ビット符号単位の文字符号化形式及び文字符号化スキームです。データ交換方式、ファイル形式としては、一般的にUTF-8が使われる傾向があります。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

0グッド

0クリップ

投稿2015/07/18 07:37

編集2015/07/28 06:08

MySQLのcharacter_set_databaseとserverのValueをutf-8に変換したいです。
以下のサイトを参考にmy.cnfを変更したのですが、MySQLを再起動してもlatin1からutf-8に変更することができません。
http://qiita.com/YusukeHigaki/items/2cab311d2a559a543e3a
http://mysqlx01.seesaa.net
http://www.dbonline.jp/mysql/myini/index3.html
http://514design.jp/2013/01/mysql-character-set/
ちなみに4番目のサイトを参考にすると、MySQL自体が動作しません。

どのようにすればValueの部分をLatin1からutf-8に変更することができるでしょうか。

開発環境はOS × Yosemite バージョン10.10.4で、server versionは5.6.25 MySQL Community Server (GPL)を使用しています。

分かる方がいれば、教えていただけると助かります。

初期状態のmy.cnfにmysqldとclientに書いてある通りの記述をしました。
参照:http://qiita.com/YusukeHigaki/items/2cab311d2a559a543e3a

my.cnfを初期状態に戻し、my.cnfのmysqldumpとmysqlに書いてある通りの記述をしました。
参照:http://mysqlx01.seesaa.net

my.cnfを初期状態に戻し、my.cnfのmysqldとclientとmysqlに書いてある通りの記述をしました。
参照:http://www.dbonline.jp/mysql/myini/index3.html

my.cnfを初期状態に戻し、my.cnfにサイトに書いてあることの通りの記述をしました。
参照:http://514design.jp/2013/01/mysql-character-set/

-my.cnfの内容

Example MySQL config file for medium systems.

This is for a system with little memory (32M - 64M) where MySQL plays

an important part, or systems up to 128M where MySQL is used together with

other programs (such as a web server)

You can copy this file to

/etc/my.cnf to set global options,

mysql-data-dir/my.cnf to set server-specific options (in this

installation this directory is /Applications/XAMPP/xamppfiles/var/mysql) or

~/.my.cnf to set user-specific options.

In this file, you can use all long options that a program supports.

If you want to know which options a program supports, run the program

with the "--help" option.

The following options will be passed to all MySQL clients

[client]
#password = your_password
port = 3306
socket = /Applications/XAMPP/xamppfiles/var/mysql/mysql.sock
default-character-set=utf8

Here follows entries for some specific programs

The MySQL server

[mysqld]
character-set-server=utf8
user = mysql
port=3306
socket = /Applications/XAMPP/xamppfiles/var/mysql/mysql.sock
skip-external-locking
key_buffer = 16M
max_allowed_packet = 1M
table_open_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M

Where do all the plugins live

plugin_dir = /Applications/XAMPP/xamppfiles/lib/mysql/plugin/

Don't listen on a TCP/IP port at all. This can be a security enhancement,

if all processes that need to connect to mysqld run on the same host.

All interaction with mysqld must be made via Unix sockets or named pipes.

Note that using this option without enabling named pipes on Windows

(via the "enable-named-pipe" option) will render mysqld useless!

commented in by xampp security

#skip-networking
skip-networking

Replication Master Server (default)

binary logging is required for replication

log-bin deactivated by default since XAMPP 1.4.11

#log-bin=mysql-bin

required unique id between 1 and 2^32 - 1

defaults to 1 if master-host is not set

but will not function as a master if omitted

server-id = 1

Replication Slave (comment out master section to use this)

To configure this host as a replication slave, you can choose between

two methods :

1) Use the CHANGE MASTER TO command (fully described in our manual) -

the syntax is:

CHANGE MASTER TO MASTER_HOST=<host>, MASTER_PORT=<port>,

MASTER_USER=<user>, MASTER_PASSWORD=<password> ;

where you replace <host>, <user>, <password> by quoted strings and

<port> by the master's port number (3306 by default).

Example:

CHANGE MASTER TO MASTER_HOST='125.564.12.1', MASTER_PORT=3306,

MASTER_USER='joe', MASTER_PASSWORD='secret';

OR

2) Set the variables below. However, in case you choose this method, then

start replication for the first time (even unsuccessfully, for example

if you mistyped the password in master-password and the slave fails to

connect), the slave will create a master.info file, and any later

change in this file to the variables' values below will be ignored and

overridden by the content of the master.info file, unless you shutdown

the slave server, delete master.info and restart the slaver server.

For that reason, you may want to leave the lines below untouched

(commented) and instead use CHANGE MASTER TO (see above)

required unique id between 2 and 2^32 - 1

(and different from the master)

defaults to 2 if master-host is set

but will not function as a slave if omitted

#server-id = 2

The replication master for this slave - required

#master-host = <hostname>

The username the slave will use for authentication when connecting

to the master - required

#master-user = <username>

The password the slave will authenticate with when connecting to

the master - required

#master-password = <password>

The port the master is listening on.

optional - defaults to 3306

#master-port = <port>

binary logging - not required for slaves, but recommended

#log-bin=mysql-bin

Point the following paths to different dedicated disks

tmpdir = /Applications/XAMPP/xamppfiles/temp/mysql
#log-update = /path-to-dedicated-directory/hostname

Uncomment the following if you are using BDB tables

#bdb_cache_size = 4M
#bdb_max_lock = 10000

Comment the following if you are using InnoDB tables

#skip-innodb
innodb_data_home_dir = /Applications/XAMPP/xamppfiles/var/mysql/
innodb_data_file_path = ibdata1:10M:autoextend
innodb_log_group_home_dir = /Applications/XAMPP/xamppfiles/var/mysql/

You can set .._buffer_pool_size up to 50 - 80 %

of RAM but beware of setting memory usage too high

innodb_buffer_pool_size = 16M

Deprecated in 5.6

#innodb_additional_mem_pool_size = 2M

Set .._log_file_size to 25 % of buffer pool size

innodb_log_file_size = 5M
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 50

[mysqldump]
quick
max_allowed_packet = 16M

[mysql]
no-auto-rehash

Remove the next comment character if you are not familiar with SQL

#safe-updates

[isamchk]
key_buffer = 20M
sort_buffer_size = 20M
read_buffer = 2M
write_buffer = 2M

[myisamchk]
key_buffer = 20M
sort_buffer_size = 20M
read_buffer = 2M
write_buffer = 2M

[mysqlhotcopy]
interactive-timeout

!include /Applications/XAMPP/xamppfiles/mysql/my.cnf

-show variables like 'char%';の結果
character_set_client utf8
character_set_connect utf8
character_set_database latin1
character_set_filesystem binary
character_set_results utf8
character_set_server latin1
character_set_system utf8
character_sets_dir /usr/local/mysql-5.6.25-osx10.8-x86_64/share/charsets/

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2015/07/18 08:43

参考サイトを載せても、あなたがやったこと自体を詳細に記載してください。サイトに書いてあることを正しく行った保証はありませんし、第一それでうまくいかないはずは通常ありません。 読み違えている可能性、誤解している可能性など排除しきれないためです。
guest

回答2

0

show variables like 'char%';

で表示したときに character_set_database だけが latin1 なのでしょうか?

だとしたら、それはデータベースがそのように作られている、ということなので、
alter database で修正する必要があります。

alter database データベース名 default character set utf8;

投稿2015/07/18 11:26

ngyuki

総合スコア4514

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

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

mysqlldutf8

2015/07/23 02:47

コメントありがとうございます。 character_set_databaseとcharacter_set_serverの二つがLatin1になっています。
ngyuki

2015/07/23 03:59

> 初期状態のmy.cnfにmysqldとclientに書いてある通りの記述をしました。 > 参照:http://qiita.com/YusukeHigaki/items/2cab311d2a559a543e3a の状態にして mysqld を再起動して下記のそれぞれをそのまま質問に貼り付けてみてください。 - my.cnf の内容 - show variables like 'char%'; の結果
guest

0

/Applications/XAMPP/xamppfiles/mysql/my.cnf で、設定が上書きされてませんか?

[mysqld] default-character-set=latin1 または character-set-server=latin1

/etc/my.cnf と /Applications/XAMPP/xamppfiles/mysql/my.cnf 両方確認しましょう。

投稿2016/02/12 14:03

katsumiy

総合スコア479

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.49%

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

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

質問する

関連した質問