在windows用户首次安装MySQL后, MySQL会自动生成一份随机密码 for root账户. 但用户往往有修改密码的需要, 一来可能是从安全, 易记等角度考虑; 二来也是主要原因, 如果直接使用初始密码在第三方客户端如 Navicat 访问MySQL, 那么很可能直接提示: “expired”, 也就是密码过期了(so frustrating !!!). 这个时候可以通过修改root密码来解决.
(以下操作都在cmd窗口操作)
- 首先确保MySQL服务是启动的, 否则使用net start mysql启动.
- 接着登录root账户: mysql -u root -p, 下面会提示输入密码, 输入初始密码, 点击Enter,进入MySQL命令行(这里可以登入, 说明这种方式下初始密码是有效的, 这也是这种方式的可行之处)
- 使用该命令进行修改: ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘****’; (值得注意的是以往的update命令修改密码是不起作用的,这个从侧面反映了MySQL在用户和权限管理方面做了改动, 个人觉得这是一种接近Oracle的管理方式.)