MySQL 5.5.37を使用しています。最初にデータベースを作成するときに、データベースのデフォルトの ""および ""変数を設定するにはどうすればよいですか? rootユーザーとしてログインしていますが、以下のようにコマンドで切り取られません。
mysql> create database if not exists my_db DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_bin;
Query OK, 1 row affected (0.00 sec)
mysql> use my_db
Database changed
mysql> SHOW VARIABLES WHERE Variable_name LIKE 'character\_set\_%' OR Variable_name LIKE 'collation%';
+--------------------------+-------------------+
| Variable_name | Value |
+--------------------------+-------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| collation_connection | utf8_general_ci |
| collation_database | utf8_bin |
| collation_server | latin1_swedish_ci |
+--------------------------+-------------------+
Intiailコマンドで何を指定しても、「character_set_server」が「latin1」に設定され、「collation_server」が「latin1_swedish_ci」に設定されていることに注意してください。これらの値がそれぞれutf8とutf8_binになるように初期コマンドを変更するにはどうすればよいですか?
SET NAMES utf8mb4 COLLATE utf8mb4_unicode_520_ci;
CREATE DATABASE
のデフォルトはCREATE TABLE
を実行する場合にのみ役立つため、データベースを無視してCREATE TABLE
を明示することに焦点を当てることをお勧めします。
これらをMySQL構成ファイルの[mysqld]
セクションに貼り付けます。
skip-character-set-client-handshake
collation-server=utf8_unicode_ci
character-set-server=utf8
このドキュメントは here です。