成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

MySQL數據庫如何實現跨服務器訪問數據

數據庫 MySQL
MySQL數據庫使用FEDERATED引擎表表,可以實現庫實例(跨服務器)的數據訪問及處理,這極大的方便了數據間的關聯、對比及數據治理。關于其實現原理及優劣勢可以在以后的課程合集中細說,感興趣的也可以多實驗了解。

在使用MySQL數據庫時,很多同學經常會問,我能跨服務器訪問另一庫的數據么?得到的答案很多時候是讓人失望的。那么如果真的需要訪問,又不想使用拷貝表及數據的方式,可以實現么,又該如何實現呢?

1、如何實現

先說結論:在MySQL數據庫中,是可以實現跨實例(跨服務器)訪問另一個庫中表的。

實現方法:MySQL數據庫的其中一個優點就是插件式管理,因此,可以使用 FEDERATED 存儲引擎來實現來實現。

開啟FEDERATED存儲引擎:

開啟的方式是在配置文件中添加FEDERATED配置,即:

[mysqld]
federated

開啟后如下:

圖片

可見,已經支持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)

因為需要遠程訪問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)

在服務器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)

創建后可以直接訪問到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)

圖片

在A服務器上查看數據情況:

mysql> use testdb1;
Database changed
mysql> select * from tb1;
+----+------+
| id | c1   |
+----+------+
|  1 | a    |
|  2 | b    |
|  3 | ca   |
|  4 | tc   |
+----+------+
4 rows in set (0.00 sec)
mysql> select * from tb1;
+----+------+
| id | c1   |
+----+------+
|  1 | a    |
|  2 | b    |
|  3 | ca   |
|  4 | tc   |
|  5 | cc   |
|  6 | ty   |
+----+------+
6 rows in set (0.00 sec)

圖片

其他操作

mysql> delete from  testdb2_tb1 where id=1;
Query OK, 1 row affected (0.01 sec)
mysql> update  testdb2_tb1 set c1='bb' where id=2;
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0
mysql> select * from testdb2_tb1;
+----+------+
| id | c1   |
+----+------+
|  2 | bb   |
|  3 | ca   |
|  4 | tc   |
|  5 | cc   |
|  6 | ty   |
+----+------+
5 rows in set (0.00 sec)
mysql> alter table testdb2_tb1 add key idx_c1(c1);
ERROR 1031 (HY000): Table storage engine for 'testdb2_tb1' doesn't have this option
mysql> create index idx_c1 on testdb2_tb1(c1);
ERROR 1031 (HY000): Table storage engine for 'testdb2_tb1' doesn't have this option
mysql> truncate table testdb2_tb1;
Query OK, 0 rows affected (0.03 sec)
mysql> select * from testdb2_tb1;
Empty set (0.00 sec)

可見:增刪改查均可以,但是不支持ALTER TABLE操作,可以支持truncate table操作。

3、小結

MySQL數據庫使用FEDERATED引擎表表,可以實現庫實例(跨服務器)的數據訪問及處理,這極大的方便了數據間的關聯、對比及數據治理。關于其實現原理及優劣勢可以在以后的課程合集中細說,感興趣的也可以多實驗了解。

責任編輯:姜華 來源: 數據庫干貨鋪
相關推薦

2023-11-29 07:34:25

2011-07-28 17:02:59

MYSQL數據庫跨表更新數據并合

2019-09-18 08:00:00

MySQL數據庫服務器

2011-03-30 10:15:14

Mysql數據庫服務器

2011-04-07 15:17:40

MySQL數據庫服務器

2010-05-28 10:03:33

MySQL數據庫

2009-11-16 13:24:34

Oracle數據庫服務

2010-06-12 09:46:05

MySQL數據庫

2011-03-31 17:02:19

MySQL數據庫遠程連接

2010-06-10 17:05:28

2011-05-12 13:48:07

MySql數據庫本地移植

2019-08-21 08:57:25

MySQL數據庫服務器

2011-08-29 15:21:30

2010-04-15 10:20:18

連接Oracle數據庫

2009-09-17 16:16:29

wsus服務器

2010-03-02 15:16:23

Ubuntu Post

2011-07-28 14:49:40

2010-10-11 17:41:11

MySql服務器

2010-06-01 14:58:03

2010-06-07 14:28:44

MySQL數據庫
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美精品中文字幕久久二区 | 国产精品久久久久久二区 | 天天宗合网 | 欧美在线激情 | 最新中文字幕第一页视频 | 国产福利91精品一区二区三区 | 日韩不卡一区二区 | 久久99这里只有精品 | 国产精品91视频 | 欧美精品一区二区免费 | 亚洲一区视频 | 日韩欧美一区二区三区四区 | 中文字幕一级毛片视频 | 偷拍亚洲色图 | 成人午夜电影网 | 欧美最猛黑人xxxx黑人 | 精品国产欧美一区二区 | 日韩在线精品视频 | 久久视频精品在线 | 中文字幕第一页在线 | www国产成人免费观看视频 | 日韩电影中文字幕 | 天堂色 | 国产乱码精品一区二三赶尸艳谈 | 九九热精品在线视频 | 成人片在线看 | 精品二区| 国产精品爱久久久久久久 | 精品乱码一区二区 | 亚洲国产aⅴ精品 | 国产精品成人国产乱一区 | 免费网站国产 | 91精品国产综合久久精品 | 99久久精品免费看国产四区 | 成人免费影院 | 天天曰夜夜 | 久久久久久久久99精品 | 久久国产精品-国产精品 | 国产高清免费视频 | 国产精品久久久久久久久免费丝袜 | 在线国产欧美 |