1、产生背景:
生产环境中,为了提高数据库的安全性,创建普通用户时,设置符合大小写字母、数字、特殊符号规则的密码;却出现拒绝登录的问题(排除密码错误、权限不符合的问题)
2、环境清单:
系统:RHEL 7.6
数据库:MySQL 5.7.23
3、问题过程:
a、创建普通用户
b、交互式登录:
c、命令行登录:——>拒绝
4、原因分析:
猜测:密码"PCH12@#$pch"中的$符号在linux中特殊含义为调用变量,是否是因为$而引起验证的密码与实际输入的密码不符合,从而被拒绝登录
验证:
5、总结:
Mysql登录时,mysql脚本调用参数-p时,密码中'$'被识别为变量的调用,如果想要使用含特殊符号的密码,建议传参时加上单引号''。
注:上述内容仅用来学习交流!!