一、问题:
1.打开 navicate,双击localhost_3306,出现报错2002 - Can’t connect to server on ‘localhost’(10061)
2.查看mysql是否启动
控制面板——管理工具——服务
找到mysql服务,发现无法启动。
3.win+R运行cmd,输入mysql -u root -p,输入密码登陆失败。
4.输入net stop mysql/net start mysql 报错服务名失效。
二、解决
2.1 解决问题2和问题4,mysql启动问题和服务名无效问题:
1.找到MySQL的安装路径下bin
2.在命令行中输入mysqld --install,出现Service successfully install代表你已经安装成功。
3.执行 net start mysql。
4.删除mysql下的data文件。
5.执行 mysqld --initialize 可以在当前路径下生成data文件夹,再执行net start mysql 就可以启动mysql。
①要删除的data文件夹如下,删除前要备份:
②命令行界面中步骤如下(使用管理员身份操作):
③服务端mysql启动成功。
2.2 解决问题3,输入密码无法登录且报错2003
try1:使用免密登录。
参考:解决几种MYSQL登录失败,Root用户权限异常的问题
①在Mysql的配置文件中加入
skip-grant-tables
分析:skip-grant-tables
会让MySQL服务器跳过验证步骤,允许所有用户以匿名的方式,无需做密码验证直接登陆MySQL服务器,并且拥有所有的操作权限。因此,无需进行无密登陆时,应把此行删除。
②重新启动mysql
net stop mysql
net start mysql
③无密码进行登录,依旧报错2003
try2:执行mysqld -install。
参考:启动MySQL报错:ERROR 2003 (HY000): Can’t connect to MySQL server on ‘localhost’ (10061)
首先,找到服务,确保MySQL启动。
然后,执行安装命令mysqld -install
,由于本机中已经安装了mysql服务,所以有如下提示The service already exists!
最后,执行mysql -u root -p或者mysql -uroot -p,尝试免密或输入密码登录,失败。
try3:删除Data,再次初始化。
参考:ERROR 2003 (HY000): Can’t connect to MySQL server on ‘localhost’ (10061)
①找到mysql安装目录,将其配置文件my.ini移至bin目录下。
②删除原有的数据库。
2.1、查询SQL 服务是否存在:
sc query mysql (对应的SQL服务名称)如果存在则会弹出一些信息,不存在则提示未找到服务。
2.2、删除服务:
sc delete mysql(对应的SQL服务名称)执行该命令即可删除服务
③初始化数据(注:最后一行,root@localhost:后面的是你的随机登录密码,我的是:?k*P,0iGlz4*
mysqld --initialize --user=mysql --console
④在服务中启动mysql,cmd中输入mysql -uroot -p
,输入随机密码,登陆成功。
注意:第四步原本登录失败,原因是在try1过程中在my.ini中添加的skip-grant-tables
没有删除,删除后,输入随机初始化密码,登录成功。
⑤将随机密码,修改为自己的密码。(引号中为自定义密码)
use mysql;
ALTER USER USER() IDENTIFIED BY 'yourmima';
flush privileges;
三、问题1报错2002的延伸问题,报错1045 - Access denied for user ‘root’@‘localhost’ (using password: NO)
解决以上问题后,双击localhost_3306,出现报错1045 - Access denied for user ‘root’@‘localhost’ (using password: NO)
用户’root’@‘localhost’(使用密码:NO)拒绝访问,可能是因为密码错误,或者用户忘记密码。在经过步骤一二更改密码操作后,在navicat中输入新密码即可。
解决:编辑连接,输入新的密码,点击确定,连接成功,彻底解决!o( ̄▽ ̄)ブ
参考:navicat连接MySQL报错:1045 - Access denied for user ‘root‘@‘localhost‘ (using password: YES)