「MyISAMからInnoDBへの移行」の版間の差分
提供:MoodleDocs
(追加のツールは、管理者設定の他の場所にあります)
Mitsuhiro Yoshida (トーク | 投稿記録) |
Mitsuhiro Yoshida (トーク | 投稿記録) |
||
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] | ||
* | * データベースダンプを実行してください (例 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
関連情報
- MySQL Engines: MyISAM vs. InnoDB article by Tag1 Consulting
- An easy migration of MyISAM mysqldump to InnoDB
Using Moodleフォーラムディスカッション: