今天给root账户换个更复杂的密码,就这一件事也折腾了不短时间才完成。记一下几点值得注意的地方。

  • 能用root登陆进shell下的MySQL时,用这个查询语句就可以更改了,当然flush privilege不代表可以省略:
UPDATE mysql.user SET password=PASSWORD("12345") WHERE user="root";
  • 密码里如果出现了类似$、&的特殊字符时,并且之后出现无法登陆的情况,尝试如下操作:
    • 用空的-p参数,密码在新一行输入
    • 特殊字符前加上\以转义
    • -p后的密码字符串框在’ ‘之内
  • 密码不能出现 ‘!’ 字符。这也是一个比较聪明的禁止shell下访问MySQL的trick。