目次
この章では,MySQLでのユーザー定義パーティショニングの実装について説明します。使用しているMySQLサーバーがパーティショニングをサポートしているかどうかを判別するには,次のように显示插件
ステートメントの出力を確認します。
MySQLの以前のバージョンには,have_partitioning
変数がありましたが,非推奨となり,MySQL 5.6.1で削除されました。
mysql >显示插件;+------------+----------+----------------+---------+---------+ | 名称|状态| | |库许可类型 | +------------+----------+----------------+---------+---------+ | binlog | |活跃存储引擎零| GPL | | | | |活跃分区存储引擎零| | GPL | |归档| |活跃存储引擎零| | GPL | |黑洞| |活跃存储引擎零| | GPL | | CSV | |活跃存储引擎零| | GPL | |联合| |禁用存储引擎零| | GPL | | | |活跃记忆STORAGE ENGINE | NULL | GPL | | InnoDB | ACTIVE | STORAGE ENGINE | NULL | GPL | | MRG_MYISAM | ACTIVE | STORAGE ENGINE | NULL | GPL | | MyISAM | ACTIVE | STORAGE ENGINE | NULL | GPL | | ndbcluster | DISABLED | STORAGE ENGINE | NULL | GPL | +------------+----------+----------------+---------+---------+ 11 row in set (0.00 sec)
次のようなクエリーを使用してINFORMATION_SCHEMA。插件
テーブルを確認することもできます。
mysql> SELECT -> PLUGIN_NAME为名称,-> PLUGIN_VERSION为版本,-> PLUGIN_STATUS为状态,-> FROM INFORMATION_SCHEMA。plugin_type ='存储引擎';+--------------------+---------+--------+ | 名字| |版本状态 | +--------------------+---------+--------+ | binlog | 1.0 |活动| | CSV | 1.0 |活动| |记忆活动| | 1.0 | | MRG_MYISAM | 1.0 |活动| | MyISAM | 1.0 |活动| | PERFORMANCE_SCHEMA | 0.1 |活动| |黑洞活动| | 1.0 | |归档活跃| 3.0 | | | InnoDB | 5.6 |活动| |分区| 1.0 |活跃 | +--------------------+---------+--------+ 10行集(0.00秒)
どちらの場合も,出力で分区
プラグインの状态
カラムに値活跃的
が示されていない(それぞれの例で太字で示されています)場合,使用しているバージョンのMySQLにはパーティショニングサポートが組み込まれていません。
オラクルによって提供されているMySQL 5.6社区バイナリには,パーティショニングのサポートが含まれています。商用のMySQLサーバーバイナリで提供されているパーティショニングサポートについては,第25章「MySQL企业版」を参照してください。
ソースからMySQL 5.6をコンパイルする場合にパーティショニングを有効にするには,-DWITH_PARTITION_STORAGE_ENGINE
オプションを指定してビルドを構成する必要があります。詳細は,セクション2.9 "ソースからMySQLをインストールする"を参照してください。
使用しているMySQLバイナリにパーティショニングサポートが組み込まれている場合は,それを有効にするために何も行う必要はありません(たとえば,my.cnf
ファイルに特別なエントリを指定する必要はありません)。
パーティショニングサポートを無効にするには,——skip-partition
オプションを指定してMySQLサーバーを起動します。その場合は,have_partitioning
の値が禁用
になります。パーティショニングサポートを無効にすると,既存のパーティション化されたテーブルの表示,およびそれらの削除は行うことができますが(ただし,これを行うことはお勧めしません),それ以外にそれらを操作したり,データにアクセスしたりすることはできません。
パーティショニングの概要およびパーティショニングの概念については,セクション19.1 MySQLのパーティショニングの概要を参照してください。
MySQLでは,いくつかのタイプのパーティショニングおよびサブパーティショニングをサポートしています。セクション19.2 "パーティショニングタイプ"およびセクション19.2.6 "サブパーティショニング"を参照してください。
セクション19.3“パーティション管理”では,既存のパーティション化されたテーブルでパーティションを追加,削除および変更する方法について説明しています。
セクション19.3.4 "パーティションの保守"では,パーティション化されたテーブルで使用するテーブル保守コマンドについて説明しています。
INFORMATION_SCHEMA
データベースの分区
テーブルには,パーティションおよびパーティション化されたテーブルに関する情報があります。詳細は,セクション21.13 " information_schema partitionsテーブル"を参照してください。このテーブルに対するクエリーのいくつかの例については,セクション19.2.7 MySQLパーティショニングによるNULLの扱い"を参照してください。
MySQL 5.6のパーティショニングの既知の問題については,セクション19.6 "パーティショニングの制約と制限"を参照してください。
また,パーティション化されたテーブルを使用して作業を行うときに,次のリソースが役に立つことがあります。
追加のリソースMySQLのユーザー定義パーティショニングに関するその他の情報ソースには,次のものがあります。
これはMySQLパーティショニングテクノロジに興味があり実験している人のための公式ディスカッションフォーラムです。MySQL開発者などからの発表や更新が掲載されています。パーティショニングの開発チームおよびドキュメントチームのメンバーによってモニターされています。
MySQLパーティショニングの設計者,およびリード開発者である米凯尔Ronstromが,MySQLパーティショニングおよびMySQL集群に関する記事を頻繁に掲載しています。
MySQLを使用している人が関心を持つと思われるMySQL関連ブログをまとめたMySQLニュースサイト。MySQLパーティショニングを使用している人が更新しているブログへのリンクをここでチェックしたり,自分のブログを追加したりすることをお勧めします。
MySQL 5.6バイナリは,https://dev.10bet靠谱mys10bet手机中文版ql.com/downloads/mysql/5.6.htmlから入手できます。ただし,最新のパーティショニングバグ修正および機能追加が必要な場合は,集市リポジトリからソースを取得できます。パーティショニングを有効にするには,-DWITH_PARTITION_STORAGE_ENGINE
オプションを指定してビルドを構成する必要があります。MySQLのビルドについては,セクション2.9 "ソースからMySQLをインストールする"を参照してください。パーティションを有効にしたMySQL 5.6ビルドのコンパイルで問題が発生した場合は,"MySQL分区论坛をチェックして,問題の解決策がそこにない場合は支援を要請してください。