デフォルトの設定
インストール方法によって、my.cnfのデフォルト設定は異なる場合があります。ここでは参考用として初期設定を記録しています。
-
Red Hat Enterprise Linux 7
Red Hat Enterprise Linux 7用rpmのMySQL-5.6.25-1.el7.src.rpmからインストールした場合、インストールされるmy.cnfは以下のようになります。
[mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 # Settings user and group are ignored when systemd is used. # If you need to run mysqld under a different user or group, # customize your systemd unit file for mariadb according to the # instructions in http://fedoraproject.org/wiki/Systemd [mysqld_safe] log-error=/var/log/mariadb/mariadb.log pid-file=/var/run/mariadb/mariadb.pid # # include all files from the config directory # !includedir /etc/my.cnf.d
includedir
最後の"!includedir /etc/my.cnf.d"は、指定されているディレクトリ/etc/my.cnf.d/以下の設定ファイルを読み込みます。 ただし読み込まれるファイルは、Windowsの場合、.iniまたは.cnfで、 それ以外のUnixでは、.cnfの拡張子をもつものだけです。
参考 MySQL 5.6 Reference Manual 4.2.6 Using Option Files
/etc/my.cnf.d/以下には、mysql-clients.cnf という名前のファイルがあり、その中身は以下のようになっています。
# # These groups are read by MariaDB command-line tools # Use it for options that affect only one utility # [mysql] [mysql_upgrade] [mysqladmin] [mysqlbinlog] [mysqlcheck] [mysqldump] [mysqlimport] [mysqlshow] [mysqlslap]
設定の追加
設定の各項目について
-
文字コード
デフォルトでは文字コードの設定が無く、文字化けする場合があるので、追加します。
クライアント
mysqlコマンドの文字コードをutf8にする場合、以下を/etc/my.cnfの最後に追加します。
[mysql] default-character-set=utf8
シェルスクリプトなどで追加したい場合は、以下を使って/etc/my.cnfの最終行に追加します。
sed -i '$a \ [mysql]\ default-character-set=utf8' /etc/my.cnf
サーバー
MySQL 5.5.3以降のデフォルト文字コード指定は、default-character-setから、character-set-serverに変更されました。 そのため、5.5.3以降では、/etc/my.cnfの[mysqld]に、character-set-serverで文字コードを指定します。 5.5.3未満では、default-character-setで指定します。
character-set-server=utf8
シェルスクリプトなどで追加したい場合は、以下を使って/etc/my.cnfの[mysqld]に追加します。 これは"[mysqld]"の次行にデフォルト文字コード設定を追加します。
sed -i '/^\[mysqld\]$/a character-set-server=utf8' /etc/my.cnf