「MySQL」の版間の差分
Mitsuhiro Yoshida (トーク | 投稿記録) 編集の要約なし |
Mitsuhiro Yoshida (トーク | 投稿記録) |
||
(同じ利用者による、間の45版が非表示) | |||
5行目: | 5行目: | ||
MySQLはMoodleのインストレーションを支えるサポートされたデータベースの1つです。 | MySQLはMoodleのインストレーションを支えるサポートされたデータベースの1つです。 | ||
== MySQLをインストールする | == MySQLをインストールする == | ||
* あなたがLinuxを使用している場合、ディストリビューションのパッケージマネージャを使用したインストールをお勧めします。これにより利用可能なアップデートを確実に入手できます。 しかし、お使いのディストリビューションによってはapt-getまたはyumも使用できます。 | * あなたがLinuxを使用している場合、ディストリビューションのパッケージマネージャを使用したインストールをお勧めします。これにより利用可能なアップデートを確実に入手できます。 しかし、お使いのディストリビューションによってはapt-getまたはyumも使用できます。 | ||
12行目: | 12行目: | ||
* 「root」ユーザにパスワードを設定していることをご確認ください (詳細は次をご覧ください: https://dev.mysql.com/doc/refman/8.0/en/default-privileges.html)。 | * 「root」ユーザにパスワードを設定していることをご確認ください (詳細は次をご覧ください: https://dev.mysql.com/doc/refman/8.0/en/default-privileges.html)。 | ||
* my.cnf (MySQL設定ファイル) をインストールして、あなたの必要に応じて設定することをご検討ください。デフォルトの設定はメモリ使用量とパフォーマンスの関係で通常非常に保守的なものです。「max_allowed_packet」設定を少なくとも4MBに増やしてください。 | * my.cnf (MySQL設定ファイル) をインストールして、あなたの必要に応じて設定することをご検討ください。デフォルトの設定はメモリ使用量とパフォーマンスの関係で通常非常に保守的なものです。「max_allowed_packet」設定を少なくとも4MBに増やしてください。 | ||
* | * あなたがプライマリ/レプリカ (マスタ/スレーブ) レプリケーションを使用する場合、[mysqld]内のmy.cnfにbinlog_format = 'ROW'を追加してください。そうでない場合、Moodleはデータベースに書き込めません。 | ||
=== 完全なUTF-8サポートを設定する | === 完全なUTF-8サポートを設定する === | ||
MySQLで完全なUTF-8サポートの設定をお勧めします。これを設定しない場合、一部の文字セット (特に絵文字) | MySQLで完全なUTF-8サポートの設定をお勧めします。これを設定しない場合、一部の文字セット (特に絵文字) を使用できません。あなたのサイトをインストールした後でも設定可能ですが、インストール前の方がはるかに簡単で早くできます。 | ||
これがすでに設定されているかどうかは''mysql>''プロンプトまたはphpMyAdmin等で以下のステートメントを実行して確認してください: | |||
<pre>SHOW GLOBAL VARIABLES WHERE variable_name IN ('innodb_file_format', 'innodb_large_prefix', 'innodb_file_per_table');</pre> | <pre>SHOW GLOBAL VARIABLES WHERE variable_name IN ('innodb_file_format', 'innodb_large_prefix', 'innodb_file_per_table');</pre> | ||
[[File:phpMyAdmin1.png|alt=innodb_file_format=Barracuda;innodb_file_per_table=ON;innodb_large_prefix=ON]] | [[File:phpMyAdmin1.png|alt=innodb_file_format=Barracuda;innodb_file_per_table=ON;innodb_large_prefix=ON]] または [[File:phpMyAdmin2.png|alt=innodb_file_format=(blank);innodb_file_per_table=ON;innodb_large_prefix=(blank)]] または [[File:phpMyAdmin3.png|alt=innodb_file_per_table=ON]] | ||
表示された設定が上のリストと一致する場合、変更の必要はないため、[[#Moodleデータベースを作成する|Moodleデータベースを作成する]]に進んでください。 | |||
あなたの設定がどのリストにも一致しない場合、MySQL設定ファイルを編集する必要があります。If your settings do not match any list you will have to edit the MySQL configuration file. Linuxでは'''/etc/my.cnf''', '''/etc/mysql/my.cnf'''または'''/etc/my.cnf.d/mariadb-server.cnf'''のようになります。Microsoft Windowsでは恐らく'''my.ini'''になると思われます。On Linux this may be '''/etc/my.cnf''', '''/etc/mysql/my.cnf''', or '''/etc/my.cnf.d/mariadb-server.cnf'''; on Microsoft Windows it may be '''my.ini'''. | |||
* | * 注意: 設定ファイルを変更する前にバックアップを取ってください。 | ||
* | * 注意: この変更の前にすべてのデータベースをバックアップしてください。 | ||
* | * 注意: このサーバでデータベースを利用する他のシステムはこの変更により影響を受ける可能性があります。 | ||
次の設定を設定ファイルに追加してください。もし、あなたが上の'''SHOW GLOBAL VARIABLES'''実行時に'''innodb_file_format = Barracuda'''および'''innodb_large_prefix = 1'''が空白または見つからない場合は追加しないでください: | |||
<pre>[client] | <pre>[client] | ||
default-character-set = utf8mb4 | default-character-set = utf8mb4 | ||
[mysqld] | [mysqld] | ||
innodb_file_format = Barracuda # | innodb_file_format = Barracuda # 不要であればこの行を削除してください。 | ||
innodb_file_per_table = 1 | innodb_file_per_table = 1 | ||
innodb_large_prefix = 1 # | innodb_large_prefix = 1 # 不要であればこの行を削除してください。 | ||
character-set-server = utf8mb4 | character-set-server = utf8mb4 | ||
49行目: | 48行目: | ||
default-character-set = utf8mb4</pre> | default-character-set = utf8mb4</pre> | ||
MySQLサーバプロセスを再起動して、これらの設定を適用してください (LinuxのMariaDBの場合: '''systemctl restart mariadb''')。 | |||
これらの設定の適用に問題がある場合、[[MySQLの完全なUnicodeサポート]]をご覧ください。 | |||
あなたが何らかの理由でここに記述された設定に変更できない場合、Moodleのインストール続行はできますが、デフォルトの文字セットおよび照合順序として、それぞれ、'''utf8'''および'''utf8_unicode_ci'''を選択する必要があります。 | |||
== Moodleデータベースを作成する | == Moodleデータベースを作成する == | ||
以下、空のMoodleデータベース作成手順です。適切なあなたのデータベース名、ユーザ名およびパスワードを入力してください。 | |||
このインストラクションはWebサーバおよびMySQLサーバが同じマシン上に存在していることを前提としています。この場合、「dbhost」は「localhost」です。In this case the 'dbhost' is 'localhost'. これらのサーバが異なるマシン上にある場合、以下の手順でウェブサーバの名称を「localhost」に置き換えてください。 | |||
データベースには「文字セット」および「照合順序」があります。Moodleの場合、私たちは文字セットを'''utf8mb4'''、照合順序を'''utf8mb4_unicode_ci'''に設定することを推奨します。あなたがデータベースを作成する際、これらの値を設定するオプションが表示される場合があります。選択肢がない場合、恐らくデフォルトのオプションが良いでしょう。古いサーバにインストールした場合、設定が間違っている可能性があります。 | |||
=== コマンドライン Command line === | === コマンドライン Command line === | ||
* To create a database using the 'mysql' command line client, first log into MySQL | * To create a database using the 'mysql' command line client, first log into MySQL | ||
* mysqlコマンドラインクライアントでデータベースを作成するには最初にMySQLにログインしてください。 | |||
<pre> | <pre> | ||
$ mysql -u root -p | $ mysql -u root -p | ||
Enter password: | Enter password: | ||
</pre> | </pre> | ||
(Enter the password you previously set - or been given - for the MySQL 'root' user). | (Enter the password you previously set - or been given - for the MySQL 'root' user). (MySQLの'root'ユーザー用に以前に設定 (または与えられた) パスワードを入力してください)。After some pre-amble this should take you to the ''mysql>'' prompt. | ||
* Create a new database (called 'moodle' - substitute your own name if required). | * Create a new database (called 'moodle' - substitute your own name if required). | ||
* 新しいデータベースを作成してください (データベース名「moodle」 - 必要であれば別のデータベース名を使用してください)。 | |||
If you have successfully configured the recommended full UTF-8 support as described above run: | If you have successfully configured the recommended full UTF-8 support as described above run: | ||
あなたが前述の推奨される完全なUTF-8サポートの設定に成功した場合、以下を実行してください: | |||
<pre> | <pre> | ||
mysql> CREATE DATABASE moodle DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; | mysql> CREATE DATABASE moodle DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; | ||
</pre> | </pre> | ||
If you do not have the recommended full UTF-8 support run: | If you do not have the recommended full UTF-8 support run: | ||
推奨される完全なUTF-8サポートがない場合、以下を実行してください: | |||
<pre>mysql> CREATE DATABASE moodle DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;</pre> | <pre>mysql> CREATE DATABASE moodle DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;</pre> | ||
* Add a user/password with the minimum needed permissions: | * Add a user/password with the minimum needed permissions: | ||
* 最低限必要な権限を持つユーザ/パスワードを追加してください: | |||
<pre> | <pre> | ||
mysql> CREATE USER moodleuser@localhost IDENTIFIED BY 'yourpassword'; | mysql> CREATE USER moodleuser@localhost IDENTIFIED BY 'yourpassword'; | ||
83行目: | 87行目: | ||
</pre> | </pre> | ||
...which creates a user called 'moodleuser' with a password 'yourpassword'. Make sure you invent a strong password and resist the temptation to 'GRANT ALL'. | ...which creates a user called 'moodleuser' with a password 'yourpassword'. Make sure you invent a strong password and resist the temptation to 'GRANT ALL'. | ||
... これはパスワード「yourpassword」の「moodleuser」というユーザを作成します。強力なパスワードを作成して、「GRANT ALL」の誘惑に負けないようにしてください。 | |||
* Exit from mysql: | * Exit from mysql: | ||
<pre> | <pre> | ||
90行目: | 95行目: | ||
=== phpMyAdmin === | === phpMyAdmin === | ||
[http://www.phpmyadmin.net/ phpMyAdmin] is a web based administration tool for MySQL. If this is available you can use it to create a new database. | [http://www.phpmyadmin.net/ phpMyAdmin]はウェブベースのMySQL管理ツールです。[http://www.phpmyadmin.net/ phpMyAdmin] is a web based administration tool for MySQL. If this is available you can use it to create a new database. あなたが上のように推奨される完全なUTF-8サポートを正常に設定している場合、照合順序'''utf8mb4_unicode_ci'''を選択してください。If you have successfully configured the recommended full UTF-8 support as described above select collation '''utf8mb4_unicode_ci'''. あなたに推奨される完全なUTF-8サポートがない場合、照合順序'''utf8_unicode_ci'''を選択してください。If you do not have the recommended full UTF-8 support select collation '''utf8_unicode_ci'''. | ||
==どのデータベースがどのMoodleに属しているか Which database belongs to which Moodle== | ==どのデータベースがどのMoodleに属しているか Which database belongs to which Moodle== | ||
あなたが同じサーバに複数のMoodleをインストールしている場合、あなたのMySQLサーバには複数のデータベースが存在します。If you have installed several Moodle installations on the same server, there will be several databases in your MySQL server. 例えば _mdl1 _mdl2 _mdl3 のような内容を反映していない名称かもしれません。The names might be quite poor reflections of the content like _mdl1 _mdl2 _mdl3 .ではどのデータベースがどのMoodleインストールに対応しているのか、どうやって確認できますか? So how do I see which database goes with which Moodle installation? あまたはphpMyAdminに入って、様々なデータベースのテーブル「mdl_course」を確認できます。You can go in with phpMyAdmin and in the various databases check for the table "mdl_course". そこにはMoodleインスト―レーション名が簡単に表示されます。There you will easily see the name of that Moodle Installation. あなたはmdl_configテーブルでMoodleのバージョンを確認できます。In table mdl_config you can see the Moodle version. 絶対リンクがある場合を除き、サイトのメインURLはデータベースにはありません。The main URL for the site is not in the database except where there are absolute links. | |||
== 関連情報 See also == | == 関連情報 See also == | ||
* [[MariaDB]] | * [[MariaDB]] | ||
* [[ | * [[MySQLの完全なUnicodeサポート]] | ||
* [ | * [https://www.mysql.com/ MySQLホームページ] | ||
* [ | * [https://ja.wikipedia.org/wiki/MySQL Wikipedia article about MySQLに関するWikipedia記事] | ||
* [http://forums.mysql.com/read.php?24,92131,92131 | * [http://forums.mysql.com/read.php?24,92131,92131 MySQLパフォーマンスチューニングに関する記事一覧] | ||
[[Category: | [[Category:SQLデータベース]] | ||
[[en:MySQL]] | [[en:MySQL]] | ||
[[de:MySQL]] | [[de:MySQL]] | ||
[[es:MySQL]] | [[es:MySQL]] |
2024年6月23日 (日) 15:04時点における最新版
再作成中です - Mitsuhiro Yoshida (トーク)
MySQLはMoodleのインストレーションを支えるサポートされたデータベースの1つです。
MySQLをインストールする
- あなたがLinuxを使用している場合、ディストリビューションのパッケージマネージャを使用したインストールをお勧めします。これにより利用可能なアップデートを確実に入手できます。 しかし、お使いのディストリビューションによってはapt-getまたはyumも使用できます。
- ほとんどの一般的なオペレーティングシステムに対応したインストーラが用意されています: https://dev.mysql.com/downloads/mysql/
- ソースからのmysqlビルドは可能であり、それなりに簡単ですが、お勧めしません (ビルド済みのバイナリの方が最適化されていると思われるため)。
- 「root」ユーザにパスワードを設定していることをご確認ください (詳細は次をご覧ください: https://dev.mysql.com/doc/refman/8.0/en/default-privileges.html)。
- my.cnf (MySQL設定ファイル) をインストールして、あなたの必要に応じて設定することをご検討ください。デフォルトの設定はメモリ使用量とパフォーマンスの関係で通常非常に保守的なものです。「max_allowed_packet」設定を少なくとも4MBに増やしてください。
- あなたがプライマリ/レプリカ (マスタ/スレーブ) レプリケーションを使用する場合、[mysqld]内のmy.cnfにbinlog_format = 'ROW'を追加してください。そうでない場合、Moodleはデータベースに書き込めません。
完全なUTF-8サポートを設定する
MySQLで完全なUTF-8サポートの設定をお勧めします。これを設定しない場合、一部の文字セット (特に絵文字) を使用できません。あなたのサイトをインストールした後でも設定可能ですが、インストール前の方がはるかに簡単で早くできます。
これがすでに設定されているかどうかはmysql>プロンプトまたはphpMyAdmin等で以下のステートメントを実行して確認してください:
SHOW GLOBAL VARIABLES WHERE variable_name IN ('innodb_file_format', 'innodb_large_prefix', 'innodb_file_per_table');
表示された設定が上のリストと一致する場合、変更の必要はないため、Moodleデータベースを作成するに進んでください。
あなたの設定がどのリストにも一致しない場合、MySQL設定ファイルを編集する必要があります。If your settings do not match any list you will have to edit the MySQL configuration file. Linuxでは/etc/my.cnf, /etc/mysql/my.cnfまたは/etc/my.cnf.d/mariadb-server.cnfのようになります。Microsoft Windowsでは恐らくmy.iniになると思われます。On Linux this may be /etc/my.cnf, /etc/mysql/my.cnf, or /etc/my.cnf.d/mariadb-server.cnf; on Microsoft Windows it may be my.ini.
- 注意: 設定ファイルを変更する前にバックアップを取ってください。
- 注意: この変更の前にすべてのデータベースをバックアップしてください。
- 注意: このサーバでデータベースを利用する他のシステムはこの変更により影響を受ける可能性があります。
次の設定を設定ファイルに追加してください。もし、あなたが上のSHOW GLOBAL VARIABLES実行時にinnodb_file_format = Barracudaおよびinnodb_large_prefix = 1が空白または見つからない場合は追加しないでください:
[client] default-character-set = utf8mb4 [mysqld] innodb_file_format = Barracuda # 不要であればこの行を削除してください。 innodb_file_per_table = 1 innodb_large_prefix = 1 # 不要であればこの行を削除してください。 character-set-server = utf8mb4 collation-server = utf8mb4_unicode_ci skip-character-set-client-handshake [mysql] default-character-set = utf8mb4
MySQLサーバプロセスを再起動して、これらの設定を適用してください (LinuxのMariaDBの場合: systemctl restart mariadb)。
これらの設定の適用に問題がある場合、MySQLの完全なUnicodeサポートをご覧ください。
あなたが何らかの理由でここに記述された設定に変更できない場合、Moodleのインストール続行はできますが、デフォルトの文字セットおよび照合順序として、それぞれ、utf8およびutf8_unicode_ciを選択する必要があります。
Moodleデータベースを作成する
以下、空のMoodleデータベース作成手順です。適切なあなたのデータベース名、ユーザ名およびパスワードを入力してください。
このインストラクションはWebサーバおよびMySQLサーバが同じマシン上に存在していることを前提としています。この場合、「dbhost」は「localhost」です。In this case the 'dbhost' is 'localhost'. これらのサーバが異なるマシン上にある場合、以下の手順でウェブサーバの名称を「localhost」に置き換えてください。 データベースには「文字セット」および「照合順序」があります。Moodleの場合、私たちは文字セットをutf8mb4、照合順序をutf8mb4_unicode_ciに設定することを推奨します。あなたがデータベースを作成する際、これらの値を設定するオプションが表示される場合があります。選択肢がない場合、恐らくデフォルトのオプションが良いでしょう。古いサーバにインストールした場合、設定が間違っている可能性があります。
コマンドライン Command line
- To create a database using the 'mysql' command line client, first log into MySQL
- mysqlコマンドラインクライアントでデータベースを作成するには最初にMySQLにログインしてください。
$ mysql -u root -p Enter password:
(Enter the password you previously set - or been given - for the MySQL 'root' user). (MySQLの'root'ユーザー用に以前に設定 (または与えられた) パスワードを入力してください)。After some pre-amble this should take you to the mysql> prompt.
- Create a new database (called 'moodle' - substitute your own name if required).
- 新しいデータベースを作成してください (データベース名「moodle」 - 必要であれば別のデータベース名を使用してください)。
If you have successfully configured the recommended full UTF-8 support as described above run: あなたが前述の推奨される完全なUTF-8サポートの設定に成功した場合、以下を実行してください:
mysql> CREATE DATABASE moodle DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
If you do not have the recommended full UTF-8 support run: 推奨される完全なUTF-8サポートがない場合、以下を実行してください:
mysql> CREATE DATABASE moodle DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
- Add a user/password with the minimum needed permissions:
- 最低限必要な権限を持つユーザ/パスワードを追加してください:
mysql> CREATE USER moodleuser@localhost IDENTIFIED BY 'yourpassword'; mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,CREATE TEMPORARY TABLES,DROP,INDEX,ALTER ON moodle.* TO moodleuser@localhost;
...which creates a user called 'moodleuser' with a password 'yourpassword'. Make sure you invent a strong password and resist the temptation to 'GRANT ALL'. ... これはパスワード「yourpassword」の「moodleuser」というユーザを作成します。強力なパスワードを作成して、「GRANT ALL」の誘惑に負けないようにしてください。
- Exit from mysql:
mysql> quit
phpMyAdmin
phpMyAdminはウェブベースのMySQL管理ツールです。phpMyAdmin is a web based administration tool for MySQL. If this is available you can use it to create a new database. あなたが上のように推奨される完全なUTF-8サポートを正常に設定している場合、照合順序utf8mb4_unicode_ciを選択してください。If you have successfully configured the recommended full UTF-8 support as described above select collation utf8mb4_unicode_ci. あなたに推奨される完全なUTF-8サポートがない場合、照合順序utf8_unicode_ciを選択してください。If you do not have the recommended full UTF-8 support select collation utf8_unicode_ci.
どのデータベースがどのMoodleに属しているか Which database belongs to which Moodle
あなたが同じサーバに複数のMoodleをインストールしている場合、あなたのMySQLサーバには複数のデータベースが存在します。If you have installed several Moodle installations on the same server, there will be several databases in your MySQL server. 例えば _mdl1 _mdl2 _mdl3 のような内容を反映していない名称かもしれません。The names might be quite poor reflections of the content like _mdl1 _mdl2 _mdl3 .ではどのデータベースがどのMoodleインストールに対応しているのか、どうやって確認できますか? So how do I see which database goes with which Moodle installation? あまたはphpMyAdminに入って、様々なデータベースのテーブル「mdl_course」を確認できます。You can go in with phpMyAdmin and in the various databases check for the table "mdl_course". そこにはMoodleインスト―レーション名が簡単に表示されます。There you will easily see the name of that Moodle Installation. あなたはmdl_configテーブルでMoodleのバージョンを確認できます。In table mdl_config you can see the Moodle version. 絶対リンクがある場合を除き、サイトのメインURLはデータベースにはありません。The main URL for the site is not in the database except where there are absolute links.