mysql 5.1.44があります
mysql> show engine; + ------------ + --------- + |エンジン|サポート| + ------------ + --------- + | ndbcluster |いいえ| | MRG_MYISAM |はい| |ブラックホール|はい| | CSV |はい| |メモリ|はい| | FEDERATED |いいえ| |アーカイブ|はい| | InnoDB |はい| | MyISAM |デフォルト|
今、mysqlでフェデレーテッドエンジンを有効にする必要がありますが、どうすれば有効にできますか?
/etc/my.cnfを編集し、[mysqld]セクションで次の行を追加します。
フェデレーション
コマンドラインで--federatedを指定するのと同等です
投稿が少し古いことは知っていますが、多くの人がフェデレーションエンジンに問題を抱えているようです。
Mysqlバイナリがyumを介してインストールされると、すでにHA(高可用性)プラグインがあります。 mysql CLI内でプラグインをロードするだけです。
基本的なプロセスは次のとおりです。
Mysqldがまだ開始されていない場合は開始します。この時点で、「federated」が/etc/my.cnfにないことを確認してください。
例:現時点では、/ etc/my.cnfは標準のYUMインストールから次のようになります。
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
Root(または十分な特権を持つ別のアカウント)でmysql CLIにログインします。
Type: show engines;
この時点では、次のようなFEDERATEDエンジンは表示されないはずです。
mysql> show engines;
+------------+---------+------------------------------------------------------------+--- -----------+------+------------+
| Engine | Support | Comment | Transactions | XA | Savepoints |
+------------+---------+------------------------------------------------------------+--- -----------+------+------------+
| MRG_MYISAM | YES | Collection of identical MyISAM tables | NO | NO | NO |
| CSV | YES | CSV storage engine | NO | NO | NO |
| MyISAM | DEFAULT | Default engine as of MySQL 3.23 with great performance | NO | NO | NO |
| InnoDB | YES | Supports transactions, row-level locking, and foreign keys | YES | YES | YES |
| MEMORY | YES | Hash based, stored in memory, useful for temporary tables | NO | NO | NO |
+------------+---------+------------------------------------------------------------+--------------+------+------------+
5 rows in set (0.00 sec)
->ペースト終了<-
フェデレートエンジンを有効にするには、次を入力します。
install plugin federated soname 'ha_federated.so'
今、「エンジンを表示」すると、FEDERATED Engineが表示されますが、オフになります...
次のようになります。
mysql> show engine; + ------------ + --------- + ------ -------------------------------------------------- ---- + -------------- + ------ + ------------ + |エンジン|サポート|コメント|トランザクション| XA |セーブポイント| + ------------ + --------- + ------------------- ----------------------------------------- + -------- ------ + ------ + ------------ + | FEDERATED |いいえ|フェデレーテッドMySQLストレージエンジン| NULL | NULL | NULL | | CSV |はい| CSVストレージエンジン|いいえ|いいえ|いいえ| | MyISAM |デフォルト|優れたパフォーマンスを備えたMySQL 3.23のデフォルトエンジン|いいえ|いいえ|いいえ| | InnoDB |はい|トランザクション、行レベルのロック、および外部キーをサポートします|はい|はい|はい| |メモリ|はい|ハッシュベース、メモリに格納、一時テーブルに便利|いいえ|いいえ|いいえ| | MRG_MYISAM |はい|同一のMyISAMテーブルのコレクション|いいえ|いいえ|いいえ| + ------------ + --------- + ------------------- ----------------------------------------- + -------- ------ + ------ + ------------ + 6行セット(0.00秒)
次のように、行 'federated'を/etc/my.cnfファイルに安全に追加できます。
[mysqld] datadir =/var/lib/mysql socket =/var/lib/mysql/mysql.sock user = mysql #さまざまなセキュリティリスクを防ぐために、シンボリックリンクを無効にすることをお勧めします symbolic-links = 0 federated [mysqld_safe] log-error =/var/log/mysqld.log pid-file =/var/run/mysqld/mysqld.pid
Mysqldを再起動します(サービスmysqld restartなど)。
再起動後、mysql CLIに戻ります。
Type 'show engines;'
FEDERATEDエンジンが利用可能になり、サポートがYESになっているはずです。
mysql> show engine; + ------------ + --------- + ------ -------------------------------------------------- ---- + -------------- + ------ + ------------ + |エンジン|サポート|コメント|トランザクション| XA |セーブポイント| + ------------ + --------- + ------------------- ----------------------------------------- + -------- ------ + ------ + ------------ + | FEDERATED |はい|フェデレーテッドMySQLストレージエンジン|いいえ|いいえ|いいえ| | CSV |はい| CSVストレージエンジン|いいえ|いいえ|いいえ| | MyISAM |デフォルト|優れたパフォーマンスを備えたMySQL 3.23のデフォルトエンジン|いいえ|いいえ|いいえ| | InnoDB |はい|トランザクション、行レベルのロック、および外部キーをサポートします|はい|はい|はい| |メモリー|はい|ハッシュベース、メモリに格納、一時テーブルに便利|いいえ|いいえ|いいえ| | MRG_MYISAM |はい|同一のMyISAMテーブルのコレクション|いいえ|いいえ|いいえ| + ------------ + --------- + ------------------- ----------------------------------------- + -------- ------ + ------ + ------------ + 6行セット(0.00秒)
完了しました...次に進み、フェデレートテーブルを作成します...
幸運を!
MySQL 5.0.64からは、実行中のサーバーでFEDERATEDストレージエンジンがデフォルトで有効になりません。 FEDERATEDを有効にするには、
--federated
オプションを使用してMySQLサーバーバイナリを起動する必要があります。 — MySQLドキュメント
構成ファイルで--federated
option を使用するには、--
をドロップします。
my.cnf
[mysqld]
federated