我有 Mysql 5.5.18
和显示引擎:
展示引擎; +--------------------+---------+------------------ ------------------------------------------+-------- --------+------+------------+ | 引擎 | 支持 | 评论 | 交易 | XA | 保存点 | +--------------------+---------+------------------ ------------------------------------------+-------- --------+------+------------+ | 数据库 | 默认 | 支持事务、行级锁定和外键 | 是 | 是 | 是 | | PERFORMANCE_SCHEMA | 是 | 性能架构 | 否 | 否 | 否 | | MRG_MYISAM | 是 | 相同的 MyISAM 表的集合 | 否 | 否 | 否 | | CSV | 是 | CSV 存储引擎 | 否 | 否 | 否 | | MyISAM | 是 | MyISAM 存储引擎 | 否 | 否 | 否 | | 内存 | 是 | 基于哈希,存储在内存中,对临时表有用 | 否 | 否 | 否 | +--------------------+---------+------------------ ------------------------------------------+-------- --------+------+------------+
如您所见,联合引擎不是列表之一。我需要启用它!知道为什么列表中缺少 BLACKHOLE、FEDERATED 和 ARCHIVE 引擎吗?以及如何添加/启用它们?
编辑
我有 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';
,然后我将federated添加到my.cnf并重新启动mysql
如果默认安装/二进制安装
在我看来,
BLACKHOLE , ARCHIVE
当您安装 Mysql 服务器时,默认情况下会安装并启用它们。但
FEDERATED
默认情况下未启用。为此,请这样做您可以手动启用它,您已经编辑了 my.cnf 文件。编辑 my.cnf 并在 [mysqld] 部分中,添加以下行:
现在重新启动 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
使用选项 调用配置我知道这篇文章有点老了,但似乎很多人都遇到了联合引擎的问题。
当通过 yum 安装 mysql 二进制文件时,您已经拥有了 HA(高可用性)插件。您只需要在 mysql CLI 中加载插件。
以下是基本流程:
如果 mysqld 尚未启动,请启动它。确保此时“联合”不在 /etc/my.cnf 中。
EX:此时,/etc/my.cnf 在标准 YUM 安装中将如下所示......
使用 root(或其他具有足够权限的帐户)登录 mysql CLI。
类型:
show engines;
此时您应该看不到 FEDERATED 引擎,如下所示:
要启用联合引擎,请键入以下内容:
现在,当您“显示引擎”时,您将看到 FEDERATED 引擎,但已关闭...
它看起来像这样:
您现在可以像这样安全地将“federated”行添加到 /etc/my.cnf 文件中:
重启mysqld(服务mysqld重启等...)
重启后,回到mysql CLI。
类型
show engines;
您现在应该看到可用的 FEDERATED 引擎,并且 SUPPORT 为 YES。
你完成了......继续创建联邦表......
祝你好运!
给我发电子邮件有任何问题...很乐意提供帮助。
在使用 MySQL 5.5(当前)的 ML 上,我需要做的就是:
这对于那些想要以自动化方式声明表的人也可能有用:http: //sylnsr.blogspot.com/2012/11/auto-constructing-ddl-for-mysql.html
我在 ubuntu 20.04 中使用 Mysql 8.0,之前的所有回复都很好地解决了这个问题,我在 mysql 中运行了安装插件,然后我添加
federated
到 /etc/mysql/my.cnf 文件中,但是当我尝试进入mysql shell,我收到以下错误:如果您遇到这种情况,可能意味着您在错误的配置文件中添加了联合,这是 my 的内容
/etc/mysql/my.cnf
:就我而言,添加联合选项的正确位置是
/etc/mysql/mysql.conf.d/mysqld.cnf
,这是添加联合标志后的样子:如果您找不到我提到的文件或系统中的 mysql 树不同,请确保您在 [mysqld]下添加联邦,而不是 [mysql]