mysql使用FEDERATED时,密码中有’@’符号怎么办?
0.背景
使用FEDERATED连接,但是连接的时候密码中有 ‘@’符号,提示格式错误。
Can’t create federated table. The data source connection string ‘mysql://root:pwd@2192432@123.123.123.123:3306/test’ is not in the correct format
1.解决办法
把这个过程写成server就行了。
CREATE SERVER fedlink
FOREIGN DATA WRAPPER mysql
OPTIONS (USER 'root', PASSWORD 'pwd@2192432', HOST '123.123.123.123', PORT 3306, DATABASE 'test');
然后创建表的时候:
CREATE TABLE `user2` (
`id` varchar(255) NOT NULL COMMENT 'id',
`code` varchar(255) DEFAULT NULL COMMENT '代码',
PRIMARY KEY (`id`),
UNIQUE KEY `upk_user_id` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8 COMMENT='用户表'
ENGINE=FEDERATED CONNECTION = 'fedlink/user2';
这样就可以了。