Ferderated特点
1.提供了访问远程 MySQL 服务器上表的方法。
2.本地不存储数据,数据全存储在远程服务器上。
3.本地要保存表结构和远程连接的信息。
使用场景
的统计分析及手工查询(某些游戏行业)
开启Ferderated
默认是关闭的,需要在mysql配置中添加配置
[root@localhost mall]# vi /etc/my.cnf
跨数据库查询
# 创建一个本地库
create database local;
#创建一个远程库
create database remote;
# 在远程库创建remote_fed
CREATE TABLE remote_fed (
id INT auto_increment NOT NULL,
c1 VARCHAR (10) NOT NULL DEFAULT '',
c2 CHAR (10) NOT NULL DEFAULT '',
PRIMARY KEY (id)
) ENGINE = INNODB
INSERT INTO remote_fed (c1, c2)
VALUES
('aaa', 'bbb'),
('ccc', 'ddd'),
('eee', 'fff');
# 在本地库创建local_fed
CREATE TABLE `local_fed` (
`id` INT (11) NOT NULL AUTO_INCREMENT,
`c1` VARCHAR (10) NOT NULL DEFAULT '',
`c2` CHAR (10) NOT NULL DEFAULT '',
PRIMARY KEY (`id`)
) ENGINE = federated CONNECTION = 'mysql://root:root1234%@127.0.0.1:3306/remote/remote_fed'
#查询和修改都会同步
select * from local_fed
delete from local_fed where id = 2
select * from remote.remote_fed