MariaDBで大文字・小文字の区別をしているか確認する
OSはCentOS7.3でMariaDBのバージョンは5.5.52、こんな感じでした。
MariaDB [(none)]> show variables where variable_name='lower_case_table_names';
+------------------------+-------+
| Variable_name | Value |
+------------------------+-------+
| lower_case_table_names | 0 |
+------------------------+-------+
1 row in set (0.11 sec)
この’lower_case_table_names’の値が’0’だと、大文字と小文字を区別するようです。
ちなみに’1’だと区別せず全て小文字で格納するようです。
これが’2’だと区別せず全て大文字で格納するそうです。
Defaultは’0’で区別するになっているようです。
WindowsやMacOSは大文字小文字の区別しないみたいなので、注意が必要ですね。
ちなみにソースを変更するのが辛いのでDB側で対応する!となって大文字小文字を区別せず全て小文字で格納するように変更するときは
/etc/my.cnf.d/server.cnf
の
[mysqld]
のところに
lower_case_table_names=1
を追記してMariaDBを再起動すると反映されてました。
# vi /etc/my.cnf.d/server.cnf
# systemctl restart mariadb
# mysql -u root -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 2
Server version: 5.5.52-MariaDB MariaDB Server
Copyright (c) 2000, 2016, 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='lower_case_table_names';
+------------------------+-------+
| Variable_name | Value |
+------------------------+-------+
| lower_case_table_names | 1 |
+------------------------+-------+
1 row in set (0.01 sec)
MariaDB [(none)]> exit;
#
以上