一. 启动federated引擎:
在mysql8上开启federated引擎的方式稍微有点不同,分两步:
1. sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf 文件中加入federated一行;
2. systemctl restart mysql.service 重启mysql;
3. su - mysql //这是Linux的mysql用户
4. mysql -u root -p
5. show engines;
二. 跨库查询操作
1. 分别在两个数据库中将两张表table1,table2(引擎默认);
2. 在table1所在库中用以下方式新建一张table2的表接口,注明存储引擎为federated,以及连接table2的信息。
CREATE TABLE table2
(
`id` varchar(10) NOT NULL DEFAULT '' COMMENT '主键id',
`car_name` varchar(10) DEFAULT NULL COMMENT '汽车名称',
PRIMARY KEY (`id`)
)
ENGINE=FEDERATED DEFAULT CHARSET=utf8
COMMENT='table2表-远程表'
CONNECTION='mysql://root:password@localhost:3306/car1/school';
3. 垮库查询语句
SELECT s.id, s.car_name, sc.person_name FROM table1 s JOIN table2 sc ON s.car_id = sc.id;