为了账号安全,请及时绑定邮箱和手机立即绑定

mysql密码字符问题

mysql密码字符问题

慕丝7291255 2019-05-07 10:09:45
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 回答

?
三国纷争

TA贡献1804条经验 获得超7个赞

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';关闭转义字符
                            
查看完整回答
反对 回复 2019-05-07
?
慕的地10843

TA贡献1785条经验 获得超8个赞

\t是制表符,我印象中好像\v不是什么特殊字符吧。我猜测:这里应该是mysql在设置密码的时候对密码串解义了,导致\v没有对应的解义而报错了?比如你换成\\v看看会不会报错。以及如果不报错的话,你输入密码是要输两个\还是一个,如果是一个,说明设置密码的时候确实经过解义了。
                            
查看完整回答
反对 回复 2019-05-07
  • 2 回答
  • 0 关注
  • 450 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信