今天在一台新mac上装了mysql+官方的workbench,安装过程中系统随机给出了一个root初始密码。
之前由于养成了习惯,经常用mysql -h x.x.x.x -P 3306 -u xxx -pxxx;这种命令去登远程数据库,所以这次命令行连本地数据库时也依样画葫芦。
结果由于这个初始密码有转义字符,报语法错误,给密码加了转义斜杠再连,结果是报Access denied for user 'root'@'localhost'
一计不成又生一计,尝试用workbench登录,输入密码后也是报这个错。
这就很尴尬了,给了密码又没用
网络上有很多关于这个报错的解决方案,但是一个没用上。
后来灵光一动,改用mysql -h x.x.x.x -P 3306 -u xxx去连接,然后提升输入密码,此时再输入,居然成功了!不过接下来要进行操作,得先把初始密码改掉。
这个时候再用workbench登,他直接提示你密码过期了,要你改密码。
总结,直接在命令行中明文输有转义字符的密码是不可靠的,workbench不支持用初始密码登录
综上,mysql这个初始密码设定有些坑爹,报的错对解决问题也没什么用。