Mysql的跨服务器操作


1、查询FEDERATED功能是否开启:
  show ENGINES;

Mysql的跨服务器操作_第1张图片

2、如果状态为NO则需修改my.ini文件,增加一行federated配置:

Mysql的跨服务器操作_第2张图片

  my.ini配置文件的默认路径 C:\ProgramData\MySQL\MySQL Server 5.7。ProgramData为隐藏文件夹,查看时需注意;
3、重启mysql服务,再次查询FEDERATED的状态,发现改为Yes;
4、在本地新建一个表作为远端服务器的“桥接表”:
  栗子:

CREATE TABLE `federated_t_user` (
  `user_name` varchar(20) NOT NULL COMMENT '容器编码',
  `pwd` varchar(20) DEFAULT '111111' COMMENT '密码',
  `status` smallint(6) DEFAULT '1' COMMENT '状态',
  PRIMARY KEY (`user_name`)
) ENGINE=FEDERATED DEFAULT CHARSET=utf8 CONNECTION='mysql://root:[email protected]:3306/testdb/testtable';

  一些参数的含义:
    ENGINE:存储引擎。
    CHARSET:字符集。
    CONNECTION:连接的URL。
  只需要对这张“桥接表”进行操作,远端的数据也会跟着修改~

需要注意的几点:
  1、本地的表结构必须与远程的完全一样。
  2、远程数据库目前仅限MySQL 。
  3、不支持事务 。
  4、不支持表结构修改 。
  5、原表是INNODB也是被 FEDERATED 支持的。

你可能感兴趣的:(Mysql的跨服务器操作)