FEDERATED引擎建表时,密码包含@
1.创建server
语法:
CREATE SERVER
server_name
FOREIGN DATA WRAPPER wrapper_name
OPTIONS (option [, option] ...)
示例:
CREATE SERVER fedLink
FOREIGN DATA WRAPPER mysql
OPTIONS (USER 'root', PASSWORD '123456', HOST 'localhost', PORT 3306, DATABASE 'forTest');
2.用此server创建FEDERATED引擎的表
示例:
DROP TABLE IF EXISTS `testTable`;
CREATE TABLE `testTable` (
`id` int(10) NOT NULL AUTO_INCREMENT
) ENGINE = FEDERATED CONNECTION = 'fedLink/testTable';
解释:
CONNECTION ='server的名字/主表的名字'
其他:
1. 创建的server可以在mysql数据库中servers表找到
2. 为什么会出现密码中有@字符就会出错
原语句 CONNECTION='mysql://root:1234@123@localhost:3306/数据库名/要映射的表名';
数据库解析 123@localhost 为访问地址
相关文档: https://www.docs4dev.com/docs/zh/mysql/5.7/reference/federated-create-server.html