以前は、作成されたすべてのデータベースで、以下を使用しています。
mysql -u root -p
CREATE DATABASE dbname CHARACTER SET utf8 COLLATE utf8_bin;
GRANT ALL ON dbname.* TO 'dbuser'@'localhost';
myISAMやInnoDBを意識せずにデータベースを使用する
データベースで使用されているストレージエンジンを知る方法
次のようにテーブルごとに確認できます。
USE <database>;
SHOW TABLE STATUS\G
これらの行に沿って出力が得られます。
root@localhost/database> show table status\G
*************************** 1. row ***************************
Name: tablename
Engine: MyISAM
Version: 10
Row_format: Fixed
Rows: 101
Avg_row_length: 70
Data_length: 7070
Max_data_length: 19703248369745919
Index_length: 2048
Data_free: 0
Auto_increment: 1004
Create_time: 2009-12-07 20:15:53
Update_time: 2010-11-10 21:55:01
Check_time: NULL
Collation: latin1_swedish_ci
Checksum: NULL
Create_options:
Comment:
「show engine」コマンドを使用して、アクティブなデフォルトエンジンを表示します
デフォルトエンジンがアクティブになるように、my.cnfファイルの[mysqld]セクションにdefault-storage-engine = InnoDBを追加します。
'show create table table_name'コマンドを使用して、テーブルのデフォルトエンジンを表示します。
このクエリは、MySQLのすべてのInnoDBテーブルとそのデータベースをリストします。
SELECT table_name, table_schema
FROM information_schema.tables
WHERE engine = 'InnoDB';
すべてのテーブルとそのストレージエンジンを一覧表示することもできます。
SELECT table_name, table_schema, engine
FROM information_schema.tables;
特定のテーブルのエンジン名を取得するには
use <database_name>
show table status like '<table_name>';
エンジンを変更するには
alter table <table_name> engine <engine_name>;