关于跨数据库连表处理数据解决方案:
使用federated引擎进行数据表映射
1.查看federated引擎是否开启
输入指令:show engines;
federated如果有.但是为No.则是可以使用,但是未开启.
需要开启.
开启方法:
在my.ini或者my.cof的[mysqld]下面添加federated
重启数据库.再次查询.开启成功
2.建立映射表. 映射表的字段需要和被映射表的字段相符,需要啥映射什么.
CREATE TABLE FEDERATED_actor (
`actor_id` smallint(5) unsigned NOT NULL AUTO_INCREMENT,
`first_name` varchar(45) NOT NULL,
`last_name` varchar(45) NOT NULL,
`last_update` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`actor_id`),
KEY `idx_actor_last_name` (`last_name`)
) ENGINE =FEDERATED CONNECTION='mysql://root:123456@127.0.0.1:3306/sakila/actor';
在生成映射之后,为了防止映射表修改被映射表也一起修改.将其上锁lock table 映射表 read;
解锁所有的表 UNLOCK TABLES;
show OPEN TABLES where In_use > 0;查看被锁的表
本文详细介绍了如何在MySQL中启用federated引擎,配置映射表以连接不同数据库,并提供了步骤和实例。重点讲解了开启federated引擎、创建映射表以及注意事项,适用于数据集成和查询优化。
803

被折叠的 条评论
为什么被折叠?



