MySQL之2003-Can’t connect to MySQL server on ‘localhost’(10038)以及1251 - Client does not support authentication protocol requested by server的解决办法
在学习Mybatis时用到Mysql数据库,结果在Navicat上新建连接时发现如下错误 首先检查了自己MySQL并没有打开,点击电脑最下方右键找到【任务管理器】,在【服务】里面找到MySQL,可以看到MySql服务为打开 启动服务,发现在再次新建连接时还是会报相同的错误
在MySQL5.76之后,解压版不再包含一个data目录了,初始化安装MySQL需要使用 --initialize 或者–initialize-insecure指令 快捷键win+s搜索一下【命令提示符】,这里不建议使用快捷键win+R输入cmd来操作,用管理员身份运行 切换到自己安装的MySQL的bin目录下,接着输入 mysqld --remove,移除mysql服务 检查自己的my.ini配置 接着输入mysqld --defaults-file=my.ini --initialize-insecure,什么都没有 mysqld --install,重新进行MySQL服务的安装 再尝试启动MySQL服务,输入 net start mysql 输入mysql -u root -p重新连接数据库 这时的密码为空,直接回车就行 进去之后第一步先设置密码,【注意:如果打开navicat之后出现,Access denied for user ‘root’@‘localhost’ (using password:YES)或者Access denied for user ‘root’@‘localhost’ (using password:NO)的情况,data文件随机生成了一串密码,需要你重新设置,步骤也跟下面一样:】 use mysql; update user set authentication_string=“123456” where user=“root”; net stop mysql; net start mysql; mysql -u root -p 123456
接着可以成功登录了 再次打开发现 原因是重新安装了mysql权限问题导致的 只需把下面的两条指令逐条复制粘贴到控制台即可 ( '123456’为你的数据库登录密码。 )。 alter user ‘root’@‘localhost’ identified with mysql_native_password by ‘123456’; flush privileges;
终于发现连接成功了
|