一、使用跳过密码
./mysqld_safe --skip-grant-tables &
二、登录
mysql -uroot
三、mysql8没有password()函数,所以下面的方式修改会报错
mysql: UPDATE user SET Password = PASSWORD('newpass') WHERE user = 'root';
四、正确的修改密码方法:
mysql: ALTER user 'root'@'localhost' IDENTIFIED BY 'Abc@123';
flush privileges;
五、连接方式修改(由于navicat版本的问题造成连接失败。mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password)
alter user 'root'@'localhost' identified with mysql_native_password by "123456";
flush privileges;