我正在尝试将 init_connect 参数设置为“SET NAMES utf8”
rds-modify-db-parameter-group mygroup --parameters="name=init_connect, value='SET NAMES utf8', method=immediate"
但失败了:
rds-modify-db-parameter-group: Malformed input-No value separator = found in NAMES
我还没有找到任何例子来说明如何做到这一点。是否可以?有什么方法可以逃脱我所缺少的吗?
最佳答案
我在尝试使用 init_connect='SET AUTOCOMMIT=0' 时遇到了同样的问题,但是,还有另一种方法可以解决您的问题,那就是使用以下方法:
rds-modify-db-parameter-group mygroup -p“name=skip-character-set-client-handshake,value=TRUE,method=pending-reboot”
这有效地完成了与在连接上强制“设置名称'utf8'”相同的事情。它将忽略客户端信息并使用默认的服务器字符集。当然,您必须确保默认服务器字符集是 UTF8(默认情况下不是)。因此,请将以下参数添加到您的组中:
rds-modify-db-parameter-group mygroup -p“name=character_set_server,value=utf8,method=immediate”-p“name=collation_server,value=utf8_general_ci,method=immediate”
关于bash - 使用命令行界面将 init_connect 设置为 Amazon RDS 参数组中带有空格的字符串会出现格式错误的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4611645/