用UPDATE直接编辑user表
首先登录MySQL。
mysql> use mysql;
mysql> update user set password=password('Old123.') where user='root' and host='localhost';
mysql> flush privileges;
mysql 5.7之后 将password 字段 修改为了authentication_string
所以应是
mysql> use mysql;
mysql> update user set authentication_string=password('New123.') where user='root' and host='localhost';
mysql> flush privileges;
修改之后发现
在阿里云服务器上 用命令登录mysql可以 命令为 -mysql -u root -p New123.这时能登上
在本机 用navicat 登录却登录不上 使用旧密码Old123.就能登录上
修改密码前(mysql库 user表)
修改密码后
原因是
只修改了 localhost 登录的密码 而没有修改 %的密码 两个都是root(区别就是一个是你本机的 一个是别的地方) 所以你修改的密码 只能在本机上才能生效 也就是 阿里云服务器上才生效
别的地方你还得用原密码登录