好吧,老实说,标题说明了一切。我对服务器安装和其他东西还不熟悉,基本上想用它来测试我正在构建的 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”应该显示该引擎正在使用联合引擎。