通过cmd登录mysql是提示Access denied for user‘root’@‘localhost’ (using password: YES)的问题
可以直接输入初始化命令,生成一个临时的密码,登录后修改密码即可,具体步骤如下:
1.停MySQL服务
net stop MySQL
2.需要先将MySql中的Data文件夹里的所有文件都备份后删除。然后输入命令:
mysqld --initialize --console;
3.启动MySQL服务
net start MySQL
注意:停止服务与启动服务都需要用管理员身份访问cmd,否则会报拒绝访问
4.使用临时密码登录mysql
mysql -uroot -pa0s156dpWy)N
然后就是修改密码,使用一下的方式就可以
安装完成后,使用Navicat连接会报Authentication plugin ‘caching_sha2_password’ cannot be loaded错误
这是因为MySQL8.0版本的加密规则是caching_sha2_password,8.0版本之前的加密规则是mysql_native_password
解决方法:
cmd中输入命令 mysql -uroot -ppassword进入mysql
修改密码,并设置不会过期
ALTER USER "root"@"localhost" IDENTIFIED BY "password" PASSWORD EXPIRE NEVER;
修改完成后,修改密码的规则
ALTER USER "root"@"localhost" IDENTIFIED WITH mysql_native_password BY "password";
最后刷新权限,并退出。
FLUSH PRIVILEGES;
exit;
重新使用Navicat就可以连接了。
MySQL服务启动后,秒断开。
造成这个原因是因为在my.ini中[mysqld]后面加入了skip-grant-tables
在8.0版本后,要么不能加这一行,要么就得加上shared-memory才可以