「MyISAMからInnoDBへの移行」の版間の差分

提供:MoodleDocs
移動先:案内検索

(追加のツールは、管理者設定の他の場所にあります)

20行目: 20行目:
* 「admin/cli/mysql_engine.php」のCLIスクリプトを使用する  (シェルアクセスが必要です。config.phpには1つのMoodleインスタンスのみを設定して、タイムアウト問題が生じないよう、PHPを設定してください)  
* 「admin/cli/mysql_engine.php」のCLIスクリプトを使用する  (シェルアクセスが必要です。config.phpには1つのMoodleインスタンスのみを設定して、タイムアウト問題が生じないよう、PHPを設定してください)  
* PHPMyAdminを使用して「構造」表示に入った後、「操作」タブをクリックしてください。ストレージエンジンのパラメータを探してください。多くのテーブルのため、これは退屈な作業です。[http://moodle.org/mod/forum/discuss.php?d=162002]
* PHPMyAdminを使用して「構造」表示に入った後、「操作」タブをクリックしてください。ストレージエンジンのパラメータを探してください。多くのテーブルのため、これは退屈な作業です。[http://moodle.org/mod/forum/discuss.php?d=162002]
* perform a database dump (e.g. mysqldump moodle_database > dump.SQL), use an editor or sed/perl/awk command to find/replace , replacing MyISAM with InnoDB.  Finally, restore back in the server. (e.g. mysql < dump.SQL or equivalent). '''If using this method, be very careful to use the same file encoding on both input and output.'''
* データベースダンプを実行してください (mysqldump moodle_database > dump.SQL)。そして、エディタまたはsed/perl/awkコマンドを使用することで、「InnoDB」を「MyISAM」に置換してください。Finally, restore back in the server. (e.g. mysql < dump.SQL or equivalent). '''If using this method, be very careful to use the same file encoding on both input and output.'''
* Follow the process detailed here - https://sites.google.com/site/moodlemayhem/tcea2011-moodle-server-setup-basics/moodleacidtrip
* Follow the process detailed here - https://sites.google.com/site/moodlemayhem/tcea2011-moodle-server-setup-basics/moodleacidtrip
* Use the php script (Tested on 1.9 and 2.0/2.2) http://noveckg.blogspot.com/2012/04/moodle-php-script-to-convert-mysql.html
* Use the php script (Tested on 1.9 and 2.0/2.2) http://noveckg.blogspot.com/2012/04/moodle-php-script-to-convert-mysql.html

2013年6月28日 (金) 16:19時点における版


作成中です - Mitsuhiro Yoshida

MySQLストレージエンジンの移行に関して、このページはMoodleをMySQLデータベースで運用している管理者のみを対象としています。

なぜInnoDBに移行するのですか?

確実に動作して、大きな差異とでのパフォーマンスの良さ、およびデータ整合性機能 (トランザクション) があるため、MyISAMよりもInnoDBの使用を強くお勧めします。

あなたがMoodleウェブサービスを使用したい場合 (例えばモバイルアプリ) 、また将来的に追加される可能性のある新機能に関して、InnoDBは必須となります。

MySQL設定

テーブルタイプを変更する前に:

  • InnoDBが有効にされているか確認してください。MySQLにログインして、コマンド「SHOW ENGINES」を実行してください。InnoDBのサポートが「Yes」または「DEFAULT」になっていることを確認してください。
  • 必要であれば、innodb_file_per_tableを設定してくださいこの設定は大規模サイトに有用ですが、新しく作成したテーブルのみ適用されるため、既存のテーブルには影響を及ぼしません。

Moodleフォーラムに投稿された様々な方法 (どれか1つを選択してください)

  • ウェブページからinnodbスクリプトを実行してください: http://www.YOUR_MOODLE_SITE/admin/tool/innodb (v2.2.1 あなたのサイトに管理者としてログインする必要があります - 大規模サイトではタイムアウトの問題が生じる可能性があります)。Moodle 2.xの前のバージョンでは、スクリプトは次の場所にあります: http://www.YOUR_MOODLE_SITE/admin/innodb.php
  • 「admin/cli/mysql_engine.php」のCLIスクリプトを使用する (シェルアクセスが必要です。config.phpには1つのMoodleインスタンスのみを設定して、タイムアウト問題が生じないよう、PHPを設定してください)
  • PHPMyAdminを使用して「構造」表示に入った後、「操作」タブをクリックしてください。ストレージエンジンのパラメータを探してください。多くのテーブルのため、これは退屈な作業です。[1]
  • データベースダンプを実行してください (例 mysqldump moodle_database > dump.SQL)。そして、エディタまたはsed/perl/awkコマンドを使用することで、「InnoDB」を「MyISAM」に置換してください。Finally, restore back in the server. (e.g. mysql < dump.SQL or equivalent). If using this method, be very careful to use the same file encoding on both input and output.
  • Follow the process detailed here - https://sites.google.com/site/moodlemayhem/tcea2011-moodle-server-setup-basics/moodleacidtrip
  • Use the php script (Tested on 1.9 and 2.0/2.2) http://noveckg.blogspot.com/2012/04/moodle-php-script-to-convert-mysql.html

関連情報

Using Moodleフォーラムディスカッション: