10bet网址
MySQL 5.6リファレンスマニュアル
下载本手册
PDF(美国Ltr)- 26.8 mb
PDF (A4)- 26.8 mb
HTML下载(TGZ)- 7.2 mb
HTML下载(Zip)- 7.2 mb


MySQL 5.6リファレンスマニュアル/.../ InnoDBログファイルの数またはサイズの変更,およびInnoDBテーブルスペースのサイズの変更

14.5.7 InnoDBログファイルの数またはサイズの変更,およびInnoDBテーブルスペースのサイズの変更

このセクションでは,InnoDB重做ログファereplicationルの数またはサereplicationズを変更する方法,およびInnoDBシステムテブルスペスのサズを増加または減少する方法に。

InnoDBログファereplicationルの数またはサereplicationズの変更

MySQL 5.6.7以前でInnoDBの重做ログファ。

  1. innodb_fast_shutdownが2に設定されている場合は,innodb_fast_shutdownを1に設定します。

    SET GLOBAL innodb_fast_shutdown = 1;
  2. innodb_fast_shutdownが2に設定されていないことを確認したあとに,MySQLサーバーを停止し,エラーなしでシャットダウンされること(ログ内に未処理のトランザクションに関する情報が存在しないこと)を確認します。

  3. シャットダウン中に何か問題が発生して,テーブルスペースをリカバリするために古いログファイルが必要となる場合に備えて,それらのログファイルを安全な場所にコピーします。

  4. ログファ邮箱ルディレクトリから古いログファ邮箱ルを削除します。

  5. my.cnfを編集して、ログファ以及ルの構成を変更します。

  6. MySQLを再起動します。mysqldによって,起動時にInnoDBログファereplicationルが存在しないことが表示され,新しいログファereplicationルが作成されます。

MySQL 5.6.8の時点では,InnoDBログファ邮箱ルの数またはサ邮箱ズを変更する際に,innodb_fast_shutdown設定が関連しなくなりました。さらに、古いログファ以及ルを削除する必要もなくなりました。ただし、バックアップとして古いログファ。InnoDBのログファereplicationルの数またはサereplicationズを変更するには,次の手順を実行します。

  1. MySQLサバを停止し,エラなしでシャットダウンされることを確認します。

  2. my.cnfを編集して、ログファ以及ルの構成を変更します。ログファ邮箱ルのサ邮箱ズを変更するには,innodb_log_file_sizeを構成します。ログファルの数を多くするには,innodb_log_files_in_groupを構成します。

  3. MySQLサバを再起動します。

InnoDBinnodb_log_file_sizeが重做ログファイルのサイズと異なることが検出された場合は,ログチェックポイントが書き込まれ,古いログファイルが閉じられてから削除され,リクエストされたサイズで新しいファイルが作成され,その新しいログファイルが開かれます。

InnoDBテブルスペスのサズの増加

InnoDBシステムテーブルスペースのサイズを大きくするもっとも簡単な方法は,最初から自動拡張として構成することです。テブルスペス定義内の最後のデタファautoextend属性を指定します。これにより,InnoDBが領域を使い果たすと,そのファ。innodb_autoextend_incrementシステム変数の値を設定すると、増分のサ以及ズを変更できます。このサ管理员ズは,m管理员バ管理员ト単位で測定されます。

別のデ。

  1. MySQLサバをシャットダウンします。

  2. 以前の最後のデタファautoextendというキーワードを使用して定義されている場合は,実際に増加した大きさに基づいて,固定サイズが使用されるようにその定義を変更します。データファイルのサイズをチェックし,それを1024×1024バイト(= 1米バイト)にもっとも近い倍数に丸め,この丸められたサイズをinnodb_data_file_pathに明示的に指定します。

  3. 新しいデタファinnodb_data_file_pathの末尾に追加します。これにより,オプションでそのファイルが自動拡張になります。innodb_data_file_pathで自動拡張として指定できるのは,最後のデルのみです。

  4. MySQLサバを再起動します。

たとえば,このテ,ブルスペ,スには,ibdata1という1の自動拡張デルしか存在しません。

innodb_data_home_dir = innodb_data_file_path = /ibdata/ibdata: 10m:autoextend . innodb_data_home_dir = innodb_data_file_path = /ibdata/ibdata: 10m:autoextend . txt

このデタファ,時間をかけて988mバ。次に,固定サイズが使用されるように元のデータファイルを変更し,新しい自動拡張データファイルを追加したあとの構成行を示します。

innodb_data_home_dir = innodb_data_file_path = /ibdata/ibdata: 988m;/disk2/ibdata: 50m:autoextend . txt

新しいデータファイルをシステムテーブルスペース構成に追加する際に,そのファイル名が既存のファイルを参照していないことを確認してください。InnoDBは,サ。

InnoDBテブルスペスのサズの減少

現在は,システムテ。システムテブルスペスのサイズを小さくするには、次の手順を使用します。

  1. , mysqldumpを使用して,MySQLデタベス内に配置されているInnoDBテブルを含む,すべてのInnoDBテブルをダンプします.5.6の時点では,MySQLデ5のInnoDBテブルが含まれています。

    Mysql > select table_name from information_schema。where table_schema='mysql' and engine='InnoDB';+----------------------+ | table_name  | +----------------------+ | innodb_index_stats | | innodb_table_stats | | slave_master_info | | slave_relay_log_info | | slave_worker_info  | +----------------------+ 5行集(0.00秒)
  2. サバを停止します。

  3. ibdataおよびib_logファopenstackルを含む,すべての既存のテopenstackブルスペopenstackスファopenstackル(* .ibdを削除します。MySQLデタベス内に配置されているテブルの* .ibdファ邮箱ルも忘れずに削除してください。

  4. InnoDBテブルのすべての.frmファ邮箱ルを削除します。

  5. 新しいテブルスペスを構成します。

  6. サバを再起動します。

  7. ダンプファ邮箱ルを邮箱ンポ邮箱トします。

注記

デタベスでInnoDBエンジンのみが使用されている場合は,すべてのデタベスをダンプし,サを停止し,すべてのデスおよびInnoDBのログファイルを削除し,サーバーを再起動し,ダンプファイルをインポートした方が簡単な可能性があります。