欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 养生 > mysql远程数据库和本地数据进行表数据连接查询

mysql远程数据库和本地数据进行表数据连接查询

2024/10/24 4:00:18 来源:https://blog.csdn.net/qq_37797583/article/details/143118411  浏览:    关键词:mysql远程数据库和本地数据进行表数据连接查询

使用场景,当前有两个数据库,一个是在本地,一个在远程服务器,想把远程数据库中 某一张表的数据库查询并放入到本地数据库表中。
做这个操作的前提是本地能连接远程数据库,这里是通过FEDERATED这个来实现
步骤主要两步:

  1. 先确定一下远程数据库和本地数据库中FEDERATED 模块是否可以使用
    输入命令SHOW ENGINES;查看,如果FEDERATED 这一栏的SupportYES表示可以使 用,如果为No则需要开启
    windows下编辑mysql配置文件my.ini 找到[mysqld] 标签在标签下加入federated,重 启 mysql服务器再查看是否开启
    Linux下编辑mysql配置文件my.cnf找到[mysqld]标签在标签下加入federated,重 启 mysql服务器再查看是否开启

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  1. 创建一个表并且表结构要和远程数据库中对应的表一致,语法在下面,CONNECTION 中的连接信息需要自己修改,如果密码有特殊符号可能会出现连接异常问题,表创建成 功后会在当前操作数据库中存在,使用查询可以看到表中的数据和远程数据库表中一致 ,这个时候就可以根据自己需求操作,比如我可以查询出两个表数据,不一致的就插入 到我本地表中,这个时候如果加个定时器,每天晚上执行一次也算是实现了数据库表的 数据同步
CREATE TABLE `t_sys_user_info_copy1` (`id` INT(11) NOT NULL AUTO_INCREMENT,`user_account` VARCHAR(20) NOT NULL COMMENT '用户账号',`user_picture_url` VARCHAR(500) DEFAULT NULL COMMENT '用户头像',`user_password` VARCHAR(255) NOT NULL DEFAULT '' COMMENT '用户密码123456加密值',`user_name` VARCHAR(50) NOT NULL COMMENT '用户姓名',
)ENGINE=FEDERATED CONNECTION='mysql://zz:123456@192.168.116.23:3306/test/user_info';#连接信息
#把表中数据加入到本地表中,这样就实现的两个数据库表中的数据同步
INSERT  INTO t_sys_user_info
SELECT * FROM t_sys_user_info_copy1 WHERE user_account NOT IN(
SELECT user_account FROM t_sys_user_info
);

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com