sql >> データベース >  >> RDS >> Mysql

Innodb;複数のデータディレクトリ

    誰かがこれに遭遇した場合にこの投稿を更新するために、バージョン5.6以降、InnoDBはデータディレクトリをサポートするようになりました。シンボリックリンクなし(非推奨)で、*nixとWindowsの両方で機能します。

    要件:

    1. MySQL5.6以降
    2. innodb_file_per_tableが有効になっています

    innodb_file_per_table = 1

    シナリオ1(新しいテーブルを作成):

    テーブルの作成時にDATADIRECTORYオプションを指定するのと同じくらい簡単です。

    1. CREATE TABLE t1 (c1 INT PRIMARY KEY) DATA DIRECTORY = '/alternative/directory';

    シナリオ2(既存のテーブルを別のディスクに移動する):

    これにはさらにいくつかの手順が含まれます(MySQLサーバーの再起動が必要です)が、それでもかなり簡単です。また、テーブルの作成時にDATADIRECTORYオプションを指定する必要はありません。

    1. MySQLサーバーを停止します
    2. innodbテーブルを移動しますtable_name .ibdファイルを単純なファイルコピー/ファイル移動でディスク/ボリュームを分離する
    3. 拡張子が.islのテキストファイルを作成します。例: table_name .isl
    4. .islファイルを編集し、 table_nameへの新しいパスを入力します 移動した.ibdファイル。/alternative/directory/table_name.ibd
    5. 古いパスの元の.ibdファイルが削除されていることを確認してください
    6. MySQLサーバーを起動します

    これで、移動されたテーブルへのその後の変更は、新しいパスの.ibdファイルに保存されます。

    参考までに、MySQLの公式ドキュメントを参照してください: http:// dev.mysql.com/doc/refman/5.6/en/tablespace-placing.html



    1. バーコードの生成と読み取り

    2. SQLServerのTSQLおよびGUIによってテーブルにID列を追加する方法-SQLServer/T-SQLチュートリアルパート40

    3. PostgreSQLでの数値フォーマット用のテンプレートパターンと修飾子

    4. Oracle 11g:クエリが何も返さない場合のデフォルトは静的な値