MySQL

MySQLはMoodleのインストールを支えるサポートされているデータベースの1つです。

MySQLのインストール

  • Linuxを使用している場合は、ディストリビューションのパッケージマネージャを使用してインストールすることをお勧めします。これにより、利用可能なアップデートを確実に入手できます。ただし、実行しているディストリビューションに応じてapt-getまたはyumを使用することもできます。
  • https://www.mysql.com/downloads/mysql/には 、最も人気のあるオペレーティングシステム用のインストーラがあります
  • ソースからmysqlをビルドすることは可能で合理的に簡単ですが、お勧めできません(ビルド済みのバイナリの方が最適化されていると思われます)。
  • 必ず「root」ユーザーのパスワードを設定してください( https://dev.mysql.com/doc/refman/5.0/en/default-privileges.htmlを参照)。
  • ニーズに合わせてmy.cnf(MySQL設定ファイル)をインストールして設定することを検討してください。デフォルト設定は通常、メモリ使用量とパフォーマンスの点で非常に保守的です。 'max_allowed_packet'設定を少なくとも4メガバイトに増やしてください。
  • マスター/スレーブレプリケーションを使用する予定の場合は、[mysqld]内のmy.cnfにbinlog_format = 'ROW'を追加する必要があります。そうでなければ、Moodleはデータベースに書き込むことができません。

完全なUTF-8サポートを設定する

MySQLで完全なUTF-8サポートを設定することをお勧めします。これが行われないと、いくつかの文字セット、特に絵文字が使用できなくなります。あなたのサイトがインストールされた後にこれをすることは可能ですが、インストールの前にはるかに簡単です。

まず、 mysql>プロンプトまたはphpMyAdminなどで次のステートメントを実行して、これが既に構成されているかどうかを確認します。

グローバル変数を表示する場所variable_name IN( 'innodb_file_format'、 'innodb_large_prefix'、 'innodb_file_per_table'); 
変数名
innodb_file_format バラクーダ
innodb_file_per_table
innodb_large_prefix

表示された3つの設定が上記のリストと一致する場合は、それ以上の設定変更は不要です。Moodleデータベースの作成に進んでください。

設定がこのリストと一致しない場合は、MySQL設定ファイルを編集する必要があります。 Linuxではこれはファイル/etc/my.cnfまたは/etc/mysql/my.cnf、Microsoft Windowsではmy.iniです。

  • 注:設定ファイルを変更する前に、必ずバックアップを取ってください。
  • 注:この変更を加える前にデータベースをバックアップする必要があります。
  • 注:このサーバー上でデータベースを使用している他のシステムは、この変更の影響を受ける可能性があります。

構成ファイルに次の設定を追加します。

 [クライアント]
デフォルト文字セット= utf8mb4

[mysqld]
innodb_file_format =バラクーダ
innodb_file_per_table = 1
innodb_large_prefix

文字セットサーバ= utf8mb4
照合サーバ= utf8mb4_unicode_ci
スキップ文字セット - クライアント - ハンドシェイク

[MySQL]
デフォルト文字セット= utf8mb4 

これらの設定を適用するためにMySQLを再起動してください。

これらの設定をうまく適用できない場合は、 MySQL_full_unicode_supportを参照してください。

何らかの理由でここで説明されている推奨設定に変更できない場合は、Moodleのインストールを続行できますが、デフォルトの文字セットと照合順序にそれぞれutf8utf8_unicode_ciを選択する必要があります。

Moodleデータベースを作成する

これらは空のMoodleデータベースを作成するためのステップです。必要に応じて、独自のデータベース名、ユーザー名、およびパスワードに置き換えてください。

説明では、WebサーバーとMySQLサーバーが同じマシン上にあると仮定しています。この場合、 'dbhost'は 'localhost'です。それらが異なるマシン上にある場合は、以下の説明で「localhost」の代わりにWebサーバーの名前を使用してください。「dbhost」設定はデータベースサーバーの名前になります。データベースには「文字セット」と「照合順序」があります。 Moodleのために、私たちは、文字セットがutf8mb4と照合utf8mb4_unicode_ciに設定することをお勧めします。データベースを作成するときにこれらの値を設定するオプションがあります。選択肢が与えられていない場合は、デフォルトのオプションがおそらく良いでしょう。古いサーバーにインストールすると、設定が間違っている可能性があります。

コマンドライン

  • 'mysql'コマンドラインクライアントを使用してデータベースを作成するには、まずMySQLにログインします。
$ mysql -u root -p
パスワードを入力する: 

(MySQLの「root」ユーザー用に以前に設定した、または指定されたパスワードを入力してください)。いくつかのプリアンブルの後、これはmysql>プロンプトに連れて行くべきです。

  • 新しいデータベースを作成します( 'moodle'と呼ばれます - 必要ならあなた自身の名前に置き換えてください)。

上記のように推奨される完全なUTF-8サポートを正常に設定した場合は、次のコマンドを実行してください。

mysql>データベースを作成するmoodleデフォルトの文字セットutf8mb4 COLLATE utf8mb4_unicode_ci;

あなたが推奨する完全なUTF-8サポートを実行していないならば:

 mysql> CREATE DATABASE moodleデフォルトの文字セットutf8 COLLATE utf8_unicode_ci; 
  • 最低限必要な権限を持つユーザー/パスワードを追加します。
mysql> GRANT SELECT、INSERT、UPDATE、DELETE、CREATE、一時テーブルの作成、DROP、INDEX、moodleの変更* moodleuser @ localhostのID 'yourpassword'によって識別されます。

...これは、パスワードが 'yourpassword'の 'moodleuser'というユーザを作成します。強力なパスワードを考案し、「GRANT ALL」への誘惑に抵抗するようにしてください。

  • mysqlを終了します。
MySQL>終了

phpMyAdmin

phpMyAdminはMySQL用のWebベースの管理ツールです。これが利用可能であれば、新しいデータベースを作成するためにそれを使うことができます。上記の説明に従って推奨される完全UTF-8サポートを正常に構成した場合は、照合順序utf8mb4_unicode_ciを選択してください 。推奨される完全なUTF-8サポートがない場合は、照合順序utf8_unicode_ciを選択してください

どのデータベースがどのMoodleに属しているか

同じサーバーに複数のMoodleをインストールした場合、MySQLサーバーには複数のデータベースがあります。名前は_mdl1 _mdl2 _mdl3のように内容の非常に貧弱な反映かもしれません。では、どのデータベースがどのMoodleのインストールに適しているのか、どうすればわかりますか? phpMyAdminを使ってさまざまなデータベースにアクセスし、テーブル "mdl_course"を確認してください。そこにあなたは簡単にそのMoodleインストールの名前を見るでしょう。テーブルmdl_configでMoodleのバージョンを確認できます。サイトのメインURLは、絶対リンクがある場合を除いてデータベースにはありません。

関連情報