mysql>ALTERUSER`db_example`@`%`IDENTIFIEDBY'qeW0zdszb\vZjt4o';ERROR1819(HY000):Yourpassworddoesnotsatisfythecurrentpolicyrequirementsmysql>ALTERUSER`db_example`@`%`IDENTIFIEDBY'qeW0zdszb\tZjt4o';QueryOK,0rowsaffected(0.00sec)MySQL版本:5.7两个密码qeW0zdszb\vZjt4o和qeW0zdszb\tZjt4o区别只有\v或\t为什么含有\v的密码会报错?在MySQL中设置密码有哪些限制?当用Spring连接数据库时,如果密码有\字符,配置中还得转义。
2 回答
慕哥6287543
TA贡献1831条经验 获得超10个赞
MySQL本身支持一些转义字符EscapeSequenceCharacterRepresentedbySequence\0AnASCIINUL(X'00')character\'Asinglequote(')character\"Adoublequote(")character\bAbackspacecharacter\nAnewline(linefeed)character\rAcarriagereturncharacter\tAtabcharacter\ZASCII26(Control+Z);seenotefollowingthetable\\Abackslash(\)character\%A%character;seenotefollowingthetable\_A_character;seenotefollowingthetable当然默认开启的好,可以自己在不需要转义的程序里面做特殊处理。但是如果你想关闭可以SETsql_mode='NO_BACKSLASH_ESCAPES';关闭转义字符
幕布斯6054654
TA贡献1876条经验 获得超7个赞
\t是制表符,我印象中好像\v不是什么特殊字符吧。我猜测:这里应该是mysql在设置密码的时候对密码串解义了,导致\v没有对应的解义而报错了?比如你换成\\v看看会不会报错。以及如果不报错的话,你输入密码是要输两个\还是一个,如果是一个,说明设置密码的时候确实经过解义了。
添加回答
举报
0/150
提交
取消