MariaDB で 4バイトの utf を扱う設定

自然言語処理の研究データの管理用に Ruby on Rails を使用したシステムを開発、使用している中で、対象の文書に utf-8 で4バイトになってしまう文字があってエラーが出たため、utfmb4 を使用して回避。

インストール

Homebrew を使用してインストール。

$ brew install mariadb
  : 中略
$ mysql.server start
  : 中略
$ mysql_secure_installation
  : 中略

my.cnf のロケーションと設定

設定ファイルのロケーションと内容は、

$ pwd
/usr/local/etc
$ cat my.cnf
#
# This group is read both both by the client and the server
# use it for options that affect everything
#
[client-server]

#
# include all files from the config directory
#
!includedir /usr/local/etc/my.cnf.d

設定は my.cnf.d ディレクトリ下に追加すれば良い。

$ cat my.cnf.d/utf8mb4.cnf 
[mysqld]
character-set-server = utf8mb4

[client]
default-character-set=utf8mb4

設定の確認

$ mysql.server restart
  : 中略
$ mysql -u root -p
Enter password: 
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 9
Server version: 10.2.14-MariaDB Homebrew

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> SHOW VARIABLES WHERE Variable_name LIKE 'character_set_%' OR Variable_name LIKE 'collation%';
+--------------------------+---------------------------------------------------------+
| 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                                                    |
| character_sets_dir       | /usr/local/Cellar/mariadb/10.2.14/share/mysql/charsets/ |
| collation_connection     | utf8mb4_general_ci                                      |
| collation_database       | utf8mb4_general_ci                                      |
| collation_server         | utf8mb4_general_ci                                      |
+--------------------------+---------------------------------------------------------+
11 rows in set (0.00 sec)

MariaDB [(none)]> 

確認バージョン

$ sw_vers
ProductName:	Mac OS X
ProductVersion:	10.13.4
BuildVersion:	17E199
$ uname -rsv
Darwin 17.5.0 Darwin Kernel Version 17.5.0: Mon Mar  5 22:24:32 PST 2018; root:xnu-4570.51.1~1/RELEASE_X86_64
$ brew -v
Homebrew 1.6.1
Homebrew/homebrew-core (git revision 875d; last commit 2018-04-16)
$ mysql --version
mysql  Ver 15.1 Distrib 10.2.14-MariaDB, for osx10.13 (x86_64) using readline 5.1
カテゴリー: 未分類 パーマリンク

コメントは停止中です。