如何在 Ubuntu 上使用 –with-federated-storage-engine 安装 MySQL

如何在 Ubuntu 上使用 –with-federated-storage-engine 安装 MySQL

好吧,老实说,标题说明了一切。我对服务器安装和其他东西还不熟悉,基本上想用它来测试我正在构建的 Web 应用程序。我已经启动并运行了 ubuntu,但想让 mysql 在默认启用联合存储引擎的情况下运行。任何帮助都将不胜感激。

阿隆

答案1

联合引擎似乎默认被禁用,至少在 ubuntu 10.10 中是这样。你可以通过添加来启用它

[mysqld]
...
federated
...

在my.cnf中

我在 ubuntu 10.10 上,默认安装 mysql。

mysql> create table local3(a integer, b integer) ENGINE=FEDERATED CONNECTION='mysql://root@localhost:3306/t1/remote';
Query OK, 0 rows affected (0.08 sec)
mysql> show warnings;
Empty set (0.00 sec)

mysql> select * from local3;
+------+------+
| a    | b    |
+------+------+
|    1 |    2 |
+------+------+
1 row in set (0.05 sec)

您可能还需要检查配置文件中的“skip-federated”参数,如果您需要联合,则最终将其删除。几点说明,

  • mysqld --print-defaults 将在解析配置文件后提示您 mysqld 启动时的参数
  • mysqld --verbose --help 不会提及“federated”参数。
  • 当联合被禁用时,使用联合引擎创建表只会出现 2 个警告,没有错误。该表将使用默认引擎创建。

答案2

我知道这对于 OP 来说可能已经太晚了,但是我已经花了几个小时寻找如何在 yum mysql 构建上启用联合引擎,所以我认为我应该把答案放在这里供未来的谷歌用户使用:

发行版是 Fedora 14,MySQL 是标准的 yum mysql-server(&mysql-devel,不确定这是否与此联合引擎安装相关)安装 v5.1.55。

要启用联合引擎:

检查文件“ha_federated.so”是否存在。在我使用的发行版中,它位于“/usr/lib/mysql/plugin”中,如果它不存在,则此修复不适合您。

使用具有对 mysql.plugin 表的插入访问权限的用户启动你的 mysql shell。

输入“install plugin federated soname ‘ha_federated.so’;”(不带双引号)

应该显示消息“查询 OK,1 个警告”。 “显示警告”应该显示警告“1123...插件已禁用”,这是预期的。

要检查插件是否已安装,请运行“select * from mysql.plugin”

退出 MySQL shell。

编辑“my.cnf”(通常在 /etc 中找到)并插入(或取消注释)包含单词“federated”的行

停止并重新启动 mysqld 服务。

启动 shell 并使用联合引擎创建一个表,如果上述操作有效,则“show create table newtablename”应该显示该引擎正在使用联合引擎。

相关内容