mysql数据库federated引擎是关闭的,首先需要先启用该引擎。mysql执行show engines命令查看引擎状态。
show engines;
Windows下找到my.ini修改mysql配置。该文件是隐藏在ProgramData文件夹,在该地址:C:\ProgramData\MySQL\MySQL Server 5.7,可以通过%ProgramData%查找该隐藏文件件。
打开my.ini文件,在[mysqld] 下加上federated
CREATE TABLE `hn_user` ( `id` varchar(32) NOT NULL, `name` varchar(20) DEFAULT NULL, `phone` varchar(11) DEFAULT NULL, `idcard` varchar(18) DEFAULT NULL, `update_time` bigint(13) DEFAULT NULL, `add_time` bigint(13) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=FEDERATED CONNECTION='mysql://root:[email protected]:3306/db/user';
这样就可以将远程的user表数据实时映射到hn_user表中,实现mysql跨服务器查询数据。