Freeswitch连接MariaDB时含等号密码的DSN字符串转义方法
解决Freeswitch MariaDB模块连接含等号密码的数据库认证问题
针对密码含等号导致的认证失败问题,可尝试以下两种可靠方案:
用单引号包裹密码
在DSN字符串中,把密码部分用单引号括起来,避免模块将等号识别为参数分隔符。示例:mysql://db_user:'my=pass@123'@127.0.0.1/freeswitch_db这种方式是Freeswitch MariaDB模块支持的特殊字符处理逻辑,能完整解析包含等号、@等特殊符号的密码。
双重URL编码(备选)
若单引号方式不生效,可对密码中的等号做双重URL编码:先把=转成%3D,再把%转成%25,最终等号会变成%253D。示例:
原密码my=pass,编码后为my%253Dpass,DSN写法:mysql://db_user:my%253Dpass@127.0.0.1/freeswitch_db这种方式适配模块先解码一次URL的解析逻辑,确保等号能被正确识别为密码的一部分。
修改Freeswitch配置文件(如conf/autoload_configs/db.conf.xml)中的连接字符串后,重启Freeswitch即可测试连接。
内容的提问来源于stack exchange,提问作者user6072865
相关产品推荐
相关产品推荐

