所以我尝试使用the docs的语法创建联合表。在此之后,我创建了一个这样的表:
CREATE TABLE `federated_table` (
`table_uid` int(10) unsigned not null auto_increment,
...,
PRIMARY KEY (`table_uid`)
) ENGINE=FEDERATED DEFAULT CHARSET=latin1 CONNECTION='mysql://user:password@host.name:3306/';
每次我这样做,都会收到错误:
ERROR 1432 (HY000): Can't create federated table. The data source connection string 'mysql://user:password@host.name:3306/' is not in the correct format
我看过这些文档,我相信我正在关注这些文档。这个连接字符串的正确语法是什么?
答案 0 :(得分:5)
毕竟我没有关注文档。我忽略了将远程数据库和表添加到连接字符串中。正确的连接字符串应该是:
mysql://user:password@host.name:3306/remote_db/table
答案 1 :(得分:2)
还要确保您的/etc/my.cnf有
[mysqld]
federated
然后重启mysql服务。默认情况下可能无法启用。