MySQL数据库如何实现跨服务器访问数据

在使用MySQL数据库时,据库据很多同学经常会问,何实我能跨服务器访问另一库的现跨数据么?得到的答案很多时候是让人失望的。那么如果真的服务需要访问,又不想使用拷贝表及数据的器访方式,可以实现么,问数又该如何实现呢?据库据
1、如何实现
先说结论:在MySQL数据库中,何实是现跨可以实现跨实例(跨服务器)访问另一个库中表的。
实现方法:MySQL数据库的服务其中一个优点就是插件式管理,因此,器访可以使用 FEDERATED 存储引擎来实现来实现。问数
开启FEDERATED存储引擎:
开启的b2b供应网据库据方式是在配置文件中添加FEDERATED配置,即:
复制[mysqld] federated1.2.开启后如下:

可见,何实已经支持FEDERATED存储引擎。现跨
2、具体案例
下面列举具体示例来演示。
(1)具体案例需求: 假设服务器A实例中的testdb1库里有一张表tb1,现在想在服务器B的testdb2中直接访问testdb1中的tb1表的数据。
实现步骤:
在服务器A中创建表 复制mysql> create database testdb1; Query OK, 1 row affected (0.00 sec) mysql> use testdb1; Database changed mysql> create table tb1(id int primary key ,c1 varchar(20)); Query OK, 0 rows affected (0.01 sec) mysql> insert into tb1 values(1,a); Query OK, 1 row affected (0.01 sec) mysql> insert into tb1 values(2,b),(3,ca),(4,tc); Query OK, 3 rows affected (0.01 sec) Records: 3 Duplicates: 0 Warnings: 0 mysql> select * from tb1; +----+------+ | id | c1 | +----+------+ | 1 | a | | 2 | b | | 3 | ca | | 4 | tc | +----+------+ 4 rows in set (0.00 sec)1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.因为需要远程访问A服务器上的表的权限,因此需创建一个数据库用户用来远程访问。
复制mysql> create user t_user identified by Test2023.com; Query OK, 0 rows affected (0.00 sec) mysql> grant all on testdb1.* to t_user; Query OK, 0 rows affected (0.01 sec)1.2.3.4. 在服务器B的数据库testdb2上创建FEDERATED存储引擎表 复制mysql> create database testdb2; Query OK, 1 row affected (0.00 sec) mysql> use testdb2; Database changed mysql> create table testdb2_tb1( -> id INT PRIMARY KEY , -> c1 varchar(20) -> )ENGINE=FEDERATED -> CONNECTION=mysql://t_user:Test2023.com@127.0.0.1:3306/testdb1/tb1; Query OK, 0 rows affected (0.00 sec) mysql> show tables; +-------------------+ | Tables_in_testdb2 | +-------------------+ | testdb2_tb1 | +-------------------+ 1 row in set (0.00 sec) mysql> select * from testdb2_tb1; +----+------+ | id | c1 | +----+------+ | 1 | a | | 2 | b | | 3 | ca | | 4 | tc | +----+------+ 4 rows in set (0.02 sec)1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.创建后可以直接访问到A服务器中的tb1表的数据。
(2)其他操作除了查询,如果创建FEDERATED引擎表的账号(如本文用的源码库t_user)有增删改的权限,那么也可以通过操作B服务器的testdb2.testdb2_tb1对远程表(服务器A上的testdb.tb1)进行相应的操作,例如:
在服务器B上新增数据 复制mysql> select * from testdb2_tb1; +----+------+ | id | c1 | +----+------+ | 1 | a | | 2 | b | | 3 | ca | | 4 | tc | +----+------+ 4 rows in set (0.00 sec) mysql> insert into testdb2_tb1 values(5,cc),(6,ty); Query OK, 2 rows affected (0.00 sec) Records: 2 Duplicates: 0 Warnings: 0 mysql> select * from testdb2_tb1; +----+------+ | id | c1 | +----+------+ | 1 | a | | 2 | b | | 3 | ca | | 4 | tc | | 5 | cc | | 6 | ty | +----+------+ 6 rows in set (0.00 sec)1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.

可见:增删改查均可以,但是不支持ALTER TABLE操作,可以支持truncate table操作。
3、小结
MySQL数据库使用FEDERATED引擎表表,可以实现库实例(跨服务器)的数据访问及处理,这极大的方便了数据间的关联、对比及数据治理。关于其实现原理及优劣势可以在以后的课程合集中细说,感兴趣的也可以多实验了解。香港云服务器
相关文章
Flyme5.1.6.0a(打造独特个性化的手机主题,尽享视觉盛宴)
摘要:在当今智能手机时代,个性化已经成为了用户对手机的一个基本要求。Flyme5.1.6.0a作为一款强大的主题定制平台,不仅为用户提供了海量的主题选择,而且还可以满足用户对手机外观和功...2025-11-05技嘉主板H61M-S1性能评测及特点分析(全面解析技嘉主板H61M-S1的性能表现及特色功能)
摘要:随着电脑硬件的不断发展,主板作为电脑的重要组成部分之一,对电脑的性能和稳定性起着至关重要的作用。而技嘉主板作为知名主板品牌之一,在市场上享有很高的声誉。本文将对技嘉主板H61M-S...2025-11-05乐视手机质量评估及使用体验调查(了解乐视手机质量,选择更好的使用方案)
摘要:随着智能手机的迅速普及,乐视手机作为国内知名品牌之一备受关注。然而,在市场上众多的手机品牌中,乐视手机的质量如何?它是否好用?本文将从用户的角度出发,对乐视手机进行质量评估和使用体...2025-11-05老友一键还原教程(保护隐私,提高手机性能,以及重新开始的最佳方法)
摘要:如今,手机已经成为人们生活中不可或缺的一部分。然而,随着时间的推移,手机的性能可能会下降,存储空间可能会变得拥挤,并且个人数据的安全也成为一个问题。在这种情况下,老友一键还原成为了...2025-11-05- 摘要:在长时间使用电脑的过程中,过亮的屏幕会给我们的眼睛带来不适。学会如何调暗台式电脑屏幕对于保护视力和提高使用体验非常重要。本文将向您介绍一些简单而实用的方法,帮助您轻松调暗台式电脑屏...2025-11-05
优化Win108GB内存虚拟内存参数的最佳设置方法(Win108GB内存虚拟内存参数优化指南)
摘要:在使用Windows10操作系统时,虚拟内存参数的正确设置可以显著提升系统性能。对于配备8GB内存的用户来说,合理调整虚拟内存参数可以更好地管理内存资源,优化系统运行效率。本文将详...2025-11-05

最新评论