MySQLをインストールした後にフェデレーションエンジンを追加する方法
-
16-10-2019 - |
質問
MySQL 5.5.18があります
そしてショーエンジンについて:
show engines; +--------------------+---------+------------------------------------------------------------+--------------+------+------------+ | Engine | Support | Comment | Transactions | XA | Savepoints | +--------------------+---------+------------------------------------------------------------+--------------+------+------------+ | InnoDB | DEFAULT | Supports transactions, row-level locking, and foreign keys | YES | YES | YES | | PERFORMANCE_SCHEMA | YES | Performance Schema | NO | NO | NO | | MRG_MYISAM | YES | Collection of identical MyISAM tables | NO | NO | NO | | CSV | YES | CSV storage engine | NO | NO | NO | | MyISAM | YES | MyISAM storage engine | NO | NO | NO | | MEMORY | YES | Hash based, stored in memory, useful for temporary tables | NO | NO | NO | +--------------------+---------+------------------------------------------------------------+--------------+------+------------+
ご覧のとおり、フェデレーションエンジンはリストの1つではありません。有効にする必要があります!!ブラックホール、フェデレーション、およびアーカイブエンジンがリストに欠落している理由についての考えはありますか?そして、どうすればよいですか 追加/有効にします 彼ら?
編集
ubuntu 11.10を持っていて、ppaからmysqlをインストールしました.../etc/apt/sources.listに以下を追加しました
deb http://ppa.launchpad.net/nathan-renniewaldock/ppa/ubuntu oneiric main deb-src http://ppa.launchpad.net/nathan-renniewaldock/ppa/ubuntu oneiric main
ご協力いただきありがとうございます
解決
私はなんとか解決策を見つけることができました...
すでに利用可能なプラグインがあります
/usr/lib/mysql/plugin/ha_federated.so
rootとしてmysqlにログインし、次のクエリを実行しました
mysql>install plugin federated soname 'ha_federated.so';
次に、My.cnfにFederatedを追加し、MySQLを再起動しました
他のヒント
デフォルトのインストール/バイナリインストールの場合
私の意見では BLACKHOLE , ARCHIVE
MySQLサーバーをインストールすると、デフォルトでインストールされ、有効になります。
しかし FEDERATED
デフォルトでは有効になっていません
手動で有効にすることができますmy.cnf file.edit my.cnfを編集し、[mysqld]セクションで、行を追加します。
federated
MySQLサーバーを再起動します。
追加するため Archive
リンクに移動します http://timanovsky.wordpress.com/2010/10/09/enabling-archive-storage-engine-in-ius-mysql-5-1/
ソースからインストールした場合、あなたはこのようにすることになっていた:
ブラックホールの場合: で構成を呼び出します --with-blackhole-storage-engine
オプション。
Archieveの場合: で構成を呼び出します --with-archive-storage-engine
オプション
フェデレーションの場合: で構成を呼び出します --with-federated-storage-engine
オプション
私はこの投稿が少し古いことを知っていますが、多くの人々がフェデレーションエンジンに問題を抱えているようです。
mySQLバイナリがYumを介してインストールされると、HA(高可用性)プラグインが既にあります。 MySQL CLI内にプラグインをロードするだけです。
これが基本的なプロセスです:
まだ開始されていない場合はMySQLDを開始します。この時点で「フェデレーション」が/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
ルート(または十分な特権を持つ別のアカウント)を使用してMySQL CLIにログインします。
タイプ: show engines;
この時点で、この時点でフェデレーションエンジンが表示されないはずです。
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)
Federate Engineを有効にするには、以下を入力してください。
install plugin federated soname 'ha_federated.so'
今、あなたが「エンジンを表示する」と、フェデレーションエンジンが表示されますが、オフになります...
次のようになります:
mysql> show engines;
+------------+---------+------------------------------------------------------------+--------------+------+------------+
| Engine | Support | Comment | Transactions | XA | Savepoints |
+------------+---------+------------------------------------------------------------+--------------+------+------------+
| FEDERATED | NO | Federated MySQL storage engine | NULL | NULL | NULL |
| 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 |
| MRG_MYISAM | YES | Collection of identical MyISAM tables | NO | NO | NO |
+------------+---------+------------------------------------------------------------+--------------+------+------------+
6 rows in set (0.00 sec)
これで、このように/etc/my.cnfファイルに「フェデレーション」を安全に追加できます。
[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
federated
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
mysqldを再起動します(サービスmysqld再起動など...)
再起動後、MySQL CLIに戻ります。
タイプ show engines;
これで、Federated Engineが利用可能になり、サポートされています。
mysql> show engines;
+------------+---------+------------------------------------------------------------+--------------+------+------------+
| Engine | Support | Comment | Transactions | XA | Savepoints |
+------------+---------+------------------------------------------------------------+--------------+------+------------+
| FEDERATED | YES | Federated MySQL storage engine | 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 |
| MRG_MYISAM | YES | Collection of identical MyISAM tables | NO | NO | NO |
+------------+---------+------------------------------------------------------------+--------------+------+------------+
6 rows in set (0.00 sec)
そして、あなたは終わりました...出て行ってフェデレートテーブルを作成します...
幸運を!
質問があれば私にメールしてください...喜んで助けてください。
mysql 5.5(現在)でmlで私がする必要があるのは:
- /usr/local/mysql/support-files/to /etc/my.cnfから既存のファイルの1つをコピーします
- MySQLD]セクション(My.cnfファイルの終わりではない)に「フェデレーション」(引用符なし)を追加します)
- mysqlを再起動します
これは、テーブルを宣言する自動化された方法を望んでいる人にとっても役立つかもしれません。 http://sylnsr.blogspot.com/2012/11/auto-constructing-ddl-for-mysql.html