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

萌新求教!含有特殊字符\v的mysql密码为什么会报错感激不尽

萌新求教!含有特殊字符\v的mysql密码为什么会报错感激不尽

慕桂英4014372 2019-06-13 09:54:23
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';关闭转义字符
                            
查看完整回答
反对 回复 2019-06-13
?
幕布斯6054654

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

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

添加回答

举报

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