MySQLのデータ構造

MySQLのインストールは簡単ですが、
ディレクトリ構造を知っておくことは障害対応にも必要ですのでまとめです。

MYSQLのデータ構成

/etc/my.cnfでメインディレクトリやソケット(mysqlへのインターフェイスアプリ)を設定します。

[mysqld]
# vi /etc/my.cnf
datadir=[ディレクトリ]
socket=/var/lib/mysql/mysql.sock
[ディレクトリ]/ibdata1 テーブルスペース
[ディレクトリ]/ib_logfole1    REDOログ
[ディレクトリ]/ib_logfole2    REDOログ
[ディレクトリ]/relay-log.info   レプリケーション情報 SQLスレッドによって更新
[ディレクトリ]/master.info    レプリケーション情報 I/Oスレッドで更新
[ディレクトリ]/mysqld-relya-bin.xxxxxx    バイナリログ
[ディレクトリ]/[データベース名]/db.opt
[ディレクトリ]/[データベース名]/[テーブル名].frm
※バイナリログのパスはrelay-log.infoで確認できます。

テーブル構造

InnoDBの場合
InnoDBを選択すると、データベース名のサブディレクトリ内には、「テーブル名.frm」ファイルのみが作成されます。
レコードデータやインデックスデータは、テーブルスペース(ibdata1)に格納されます。

MyISAMの場合
[ディレクトリ]/[データベース名]/[テーブル名].frm テーブル構造データ
[ディレクトリ]/[データベース名]/[テーブル名].MYI インデックスデータ
[ディレクトリ]/[データベース名]/[テーブル名].MYD レコードデータ

タイトルとURLをコピーしました