環境
- MySQL 5.6.41
- CentOS 7
質問内容
MySQLのInnoDBのファイルフォーマットについて勉強しています。
my.cnf
に以下の設定を追加して、sudo systemctl restart
を実行してMySQLサーバーを再起動したのですが、そのあとにCREATE DATABASE
およびCREATE TABLE
しても、作られるテーブルのROW_FORMAT
はCompact
のままです。
ROW_FORMAT
がCompact
かRedundant
ならファイルフォーマットはAntelope
、
Compressed
かDynamic
ならファイルフォーマットはBarracuda
とリファレンスマニュアルに書いてありました。
(https://dev.mysql.com/doc/refman/5.6/ja/innodb-file-format-identifying.html)
my.cnf
の設定を変えてもCREATE TABLE
で作成されるテーブルのファイルフォーマットは変わらないのでしょうか?
そもそも概念が正しく把握できていないかもしれません。
MySQLに詳しい方、知恵を貸していただけると嬉しいです。
よろしくお願いいたします。
my.cnfの内容
[mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock symbolic-links=0 sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES character-set-server=utf8 # 以下の3つを追記した innodb_file_per_table = 1 innodb_file_format = Barracuda innodb_file_format_max = Barracuda [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid [client] default-character-set=utf8
my.cnf変更後にしたこと
TEXT
1$ mysql -uroot 2 3mysql> CREATE DATABASE test_database; 4Query OK, 1 row affected (0.00 sec) 5 6mysql> USE test_database; 7Database changed 8 9mysql> CREATE TABLE `test_table` (id int NOT NULL AUTO_INCREMENT, content varchar(255) NOT NULL, PRIMARY KEY (id)); 10Query OK, 0 rows affected (0.01 sec) 11 12-- テーブルのステータスを確認 13mysql> SHOW TABLE STATUS\G 14*************************** 1. row *************************** 15 Name: test_table 16 Engine: InnoDB 17 Version: 10 18 Row_format: Compact # ← Compactになっている 19 Rows: 0 20 Avg_row_length: 0 21 Data_length: 16384 22Max_data_length: 0 23 Index_length: 0 24 Data_free: 0 25 Auto_increment: 1 26 Create_time: 2018-09-14 23:58:08 27 Update_time: NULL 28 Check_time: NULL 29 Collation: utf8_general_ci 30 Checksum: NULL 31 Create_options: 32 Comment: 331 row in set (0.00 sec)

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/09/15 06:49