差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン最新のリビジョン両方とも次のリビジョン | ||
mariadb [2021/10/30 21:03] – [よくある設定例] techwiki | mariadb [2023/05/19 11:09] – techwiki | ||
---|---|---|---|
行 1: | 行 1: | ||
- | ======MariaDB(MySQL)====== | + | ====== MariaDB(MySQL) ====== |
[[https:// | [[https:// | ||
- | MariaDBはMySQL派生のデータベースシステム。 | + | MariaDBはMySQL派生のデータベースシステム |
- | MySQLとは互換性がある。 | + | MySQLとは互換性がある |
- | 内部の実装はともかく、DBを利用する側から見ればMySQLとMariaDBは99%同じものと考えていい。 | + | DBを利用する側から見ればMySQLとMariaDBは同じものと考えていい |
- | たとえば、WordPressのインストール要件にMySQLと書かれているような場合は、純正のMySQLだけでなくMariaDBも使える。 | + | たとえば、WordPressのインストール要件にMySQLと書かれているような場合は、純正のMySQLだけでなくMariaDBも使える |
- | むしろ、MariaDBの方が性能が良いので、普通はMariaDBを使う。 | + | むしろ、MariaDBの方が性能が良いので、普通はMariaDBを使う |
- | Windows環境でXAMPPなどを使っている人も多いと思うが、 | + | Windows環境でXAMPPなどを使っている人も多いと思うが |
- | XAMPPに同梱されているMySQLは、MariaDBである。 | + | XAMPPに同梱されているMySQLは、MariaDBである |
===== MariaDBをインストール・設定する方法 ===== | ===== MariaDBをインストール・設定する方法 ===== | ||
行 18: | 行 17: | ||
[[/ | [[/ | ||
- | MariaDB(MySQL)のインストールと初期設定についてのまとめ。 | + | MariaDB(MySQL)のインストールと初期設定についてのまとめ |
=====phpMyAdminをインストール・設定する方法===== | =====phpMyAdminをインストール・設定する方法===== | ||
[[/ | [[/ | ||
- | MariaDB(MySQL)の管理ツールphpMyAdminを使えるようにする。 | + | MariaDB(MySQL)の管理ツールphpMyAdminを使えるようにする |
=====MySQLの使い方===== | =====MySQLの使い方===== | ||
[[/ | [[/ | ||
- | MariaDBのインストールと初期設定完了後、 | + | MariaDBのインストールと初期設定完了後 |
- | 運用で使うコマンドなどのまとめ。 | + | 運用で使うコマンドなどのまとめ |
===== MYSQLDUMPの使い方 ===== | ===== MYSQLDUMPの使い方 ===== | ||
行 38: | 行 37: | ||
* MyISAM | * MyISAM | ||
* InnoDB | * InnoDB | ||
- | など、どれを使っているのかを確認する方法。 | + | など、どれを使っているのかを確認する方法 |
- | MySQLのバージョンにもよるが、デフォルトでは< | + | MySQLのバージョンにもよるが、デフォルトでは< |
- | SQLコマンドで確認する。 | + | SQLコマンドで確認する |
==== 使用可能なストレージエンジン一覧を表示 ==== | ==== 使用可能なストレージエンジン一覧を表示 ==== | ||
行 55: | 行 54: | ||
</ | </ | ||
- | table_schemaはデータベース名。 | + | table_schemaはデータベース名 |
- | table_nameはテーブル名。 | + | table_nameはテーブル名 |
- | engineというのが、MyISAMやInnoDBなどの、ストレージエンジン。 | + | engineというのが、MyISAMやInnoDBなどの、ストレージエンジン |
行 67: | 行 66: | ||
</ | </ | ||
- | INNODB_BUFFER_POOL_SIZEのメモリー割当量を確認。 | + | INNODB_BUFFER_POOL_SIZEのメモリー割当量を確認 |
- | 1024で2回割ることで、単位をMBにしている。 | + | 1024で2回割ることで、単位をMBにしている |
==== メモリーの割り当て量を変更 ==== | ==== メモリーの割り当て量を変更 ==== | ||
行 76: | 行 75: | ||
</ | </ | ||
- | INNODB_BUFFER_POOL_SIZEのメモリー割当量を256MBに設定。 | + | INNODB_BUFFER_POOL_SIZEのメモリー割当量を256MBに設定 |
==== メモリー割り当てチェック項目 ==== | ==== メモリー割り当てチェック項目 ==== | ||
行 85: | 行 84: | ||
* READ_RND_BUFFER_SIZE | * READ_RND_BUFFER_SIZE | ||
- | SELECT @@GLOBALやSET GLOBALのコマンドで、上記のパラメーターを確認・変更できる。 | + | '' |
行 103: | 行 102: | ||
READ_RND_BUFFER_SIZE = 4MB | READ_RND_BUFFER_SIZE = 4MB | ||
- | 環境にもよるが、デフォルトでは「元の値」くらいの数値になっているので、「変更後の値」くらいに変更する。 | + | 環境にもよるが、デフォルトでは「元の値」くらいの数値になっているので、「変更後の値」くらいに変更する |
行 111: | 行 110: | ||
</ | </ | ||
- | 上記のコマンドはエラーになり、サイズ変更できず。 | + | 上記のコマンドはエラーになり、サイズ変更できず |
< | < | ||
ERROR 1238 (HY000): Variable ' | ERROR 1238 (HY000): Variable ' | ||
</ | </ | ||
+ | |||
+ | |||
+ | ===== クエリキャッシュを設定 ===== | ||
+ | デフォルトではクエリキャッシュは無効になっている | ||
+ | |||
+ | 有効化すると、SELECT文の実行結果がキャッシュに保存される | ||
+ | 同じクエリが発生したときは、DBを参照せずにキャッシュから返すので、レスポンスが速くなる | ||
+ | |||
+ | ==== クエリキャッシュの設定を確認 ==== | ||
+ | < | ||
+ | SHOW VARIABLES LIKE ' | ||
+ | </ | ||
+ | |||
+ | mysqlのコンソールで上記のようなコマンドを打つと、下記のような結果が得られる | ||
+ | |||
+ | <code - 実行結果> | ||
+ | +------------------------------+---------+ | ||
+ | | Variable_name | ||
+ | +------------------------------+---------+ | ||
+ | | have_query_cache | ||
+ | | query_cache_limit | ||
+ | | query_cache_min_res_unit | ||
+ | | query_cache_size | ||
+ | | query_cache_strip_comments | ||
+ | | query_cache_type | ||
+ | | query_cache_wlock_invalidate | OFF | | ||
+ | +------------------------------+---------+ | ||
+ | 7 rows in set (0.001 sec) | ||
+ | </ | ||
+ | |||
+ | '' | ||
+ | |||
+ | |||
+ | ==== クエリキャッシュを有効化、キャッシュサイズを変更する ==== | ||
+ | < | ||
+ | vi / | ||
+ | </ | ||
+ | |||
+ | <code - 変更前> | ||
+ | [mysqld] | ||
+ | </ | ||
+ | |||
+ | <code - 変更後> | ||
+ | [mysqld] | ||
+ | query_cache_size = 64M | ||
+ | </ | ||
+ | |||
+ | ''/ | ||
+ | '' | ||
+ | |||
+ | '' | ||
+ | '' | ||
+ | |||
+ | '' | ||
+ | '' | ||
+ | |||
+ | ==== mysqlを再起動 ==== | ||
+ | < | ||
+ | systemctl restart mysql | ||
+ | </ | ||
+ | ''/ | ||
+ | |||
+ | ==== クエリキャッシュの設定を再確認 ==== | ||
+ | < | ||
+ | SHOW VARIABLES LIKE ' | ||
+ | </ | ||
+ | |||
+ | <code - 実行結果> | ||
+ | +------------------------------+----------+ | ||
+ | | Variable_name | ||
+ | +------------------------------+----------+ | ||
+ | | have_query_cache | ||
+ | | query_cache_limit | ||
+ | | query_cache_min_res_unit | ||
+ | | query_cache_size | ||
+ | | query_cache_strip_comments | ||
+ | | query_cache_type | ||
+ | | query_cache_wlock_invalidate | OFF | | ||
+ | +------------------------------+----------+ | ||
+ | 7 rows in set (0.002 sec) | ||
+ | </ | ||
+ | |||
+ | '' | ||
+ | |||
+ | また、'' | ||
+ | |||
+ | 67108864 / 1024 / 1024 = 64MB | ||
+ | |||
+ | ==== キャッシュのヒット率を確認 ==== | ||
+ | < | ||
+ | SHOW SESSION STATUS LIKE ' | ||
+ | </ | ||
+ | |||
+ | mysqlのコンソールで上記のコマンドを実行すると、下記のような結果が得られる | ||
+ | |||
+ | <code - 実行結果> | ||
+ | +-------------------------+----------+ | ||
+ | | Variable_name | ||
+ | +-------------------------+----------+ | ||
+ | | Qcache_free_blocks | ||
+ | | Qcache_free_memory | ||
+ | | Qcache_hits | ||
+ | | Qcache_inserts | ||
+ | | Qcache_lowmem_prunes | ||
+ | | Qcache_not_cached | ||
+ | | Qcache_queries_in_cache | 861 | | ||
+ | | Qcache_total_blocks | ||
+ | +-------------------------+----------+ | ||
+ | 8 rows in set (0.001 sec) | ||
+ | </ | ||
+ | |||
+ | キャッシュのヒット率 = Qcache_hits / (Qcache_hits + Qcache_inserts + Qcache_not_cached) |