我知道这篇文章有点老了,但似乎很多人在使用联合引擎时遇到了问题。
当通过 yum 安装 mysql 二进制文件时,您已经拥有 HA(高可用性)插件。您只需在 mysql CLI 中加载插件。
基本流程如下:
如果 mysqld 尚未启动,则启动它。确保此时“联合”不在 /etc/my.cnf 中。
EX:此时,/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 引擎,但已关闭...
看起来像这样:
mysql> 显示引擎;
+------------+---------+-------------- ----------------------------------+--------------+ ------+------------+
|引擎 |支持 |评论 |交易 | XA |保存点 |
+------------+---------+-------------- ----------------------------------+--------------+ ------+------------+
|联邦 |否 |联合 MySQL 存储引擎 |空 |空 |空 |
| CSV |是 | CSV 存储引擎 |否 |否 |否 |
| MyISAM |默认 | MySQL 3.23 的默认引擎具有出色的性能|否 |否 |否 |
|数据库 |是 |支持事务、行级锁定和外键 |是 |是 |是 |
|内存 |是 |基于哈希,存储在内存中,对临时表有用 |否 |否 |否 |
| MRG_MYISAM |是 |相同的 MyISAM 表的集合 |否 |否 |否 |
+------------+---------+-------------- ----------------------------------+--------------+ ------+------------+
6 行一组(0.00 秒)
您现在可以像这样安全地将“federated”行添加到 /etc/my.cnf 文件中:
[mysqld]
数据目录=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
用户=mysql
# 建议禁用符号链接以防止各种安全风险
符号链接=0
联合的
[mysqld_safe]
日志错误=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
重启mysqld(服务mysqld重启等...)
重启后,回到mysql CLI。
Type 'show engines;'
您现在应该会看到可用的 FEDERATED 引擎,并且 SUPPORT 为 YES。
mysql> 显示引擎;
+------------+---------+-------------- ----------------------------------+--------------+ ------+------------+
|引擎 |支持 |评论 |交易 | XA |保存点 |
+------------+---------+-------------- ----------------------------------+--------------+ ------+------------+
|联邦 |是 |联合 MySQL 存储引擎 |否 |否 |否 |
| CSV |是 | CSV 存储引擎 |否 |否 |否 |
| MyISAM |默认 | MySQL 3.23 的默认引擎具有出色的性能|否 |否 |否 |
|数据库 |是 |支持事务、行级锁定和外键 |是 |是 |是 |
|内存 |是 |基于哈希,存储在内存中,对临时表有用 |否 |否 |否 |
| MRG_MYISAM |是 |相同的 MyISAM 表的集合 |否 |否 |否 |
+------------+---------+-------------- ----------------------------------+--------------+ ------+------------+
6 行一组(0.00 秒)
你已经完成了......继续创建联邦表......
祝你好运!