mysql使用FEDERATED时,密码中有’@’符号怎么办?
摘要 当使用FEDERATED引擎连接MySQL数据库且密码包含"@"符号时,直接连接会报格式错误。解决方案是先创建SERVER对象存储连接信息:通过CREATE SERVER命令单独设置用户名、密码(可含特殊字符)、主机等参数。然后创建FEDERATED表时引用这个SERVER连接即可。这种方法避免了连接字符串中的特殊字符解析问题,示例展示了创建SERVER和FEDERATE
·
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';
这样就可以了。
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐

所有评论(0)