维修数据库有感

维修数据库有感

MySQL报错:2002 - Can‘t connect to server on ‘localhost‘(10061)

今天上午,我在Navicat连接数据库的时候发现报错“2002 - Can‘t connect to server on ‘localhost‘(10061)”,一开始我照CSDN的方法在计算机管理的服务中找到MYSQL并点击启动,结果还是运行不了。同时我也发现即使我输入了正确的数据库登陆密码也会报错“Can‘t connect to server on ‘localhost‘(10061)”,所以就需要下面的方法来解决这个问题。

维修方法

  1. 以管理员身份运行cmd,并用cd命令切换到mysql的bin目录下;

  2. 输入命令mysql -u root -p,登录mysql,输入密码,会返回ERROR 2003 (HY000):Can't connect to MySQL server on localhost (10061);

  3. 将mysql加入到Windows的服务中。切换到mysql安装目录下的bin文件夹,命令行运行mysqld --install;

  4. 初始化mysql数据库,输入mysqld --initialize --user=root --console最后面的 root@localhost后的文字为初始化后的root 密码,一定要记住;

  5. 此时使用net start mysql成功启动mysql;

  6. 用生成的密码登录mysql,这样的话就可以成功重新登陆数据库了。

但是这样的话,又会遇到一个问题:生成的密码是无序且复杂的,所以需要我们自己手动更改mysql的密码,由于本人的mysql是8.0以上的版本,因此mysql5.0版本的set password=password('新密码')不能使用,接下来就讲一下mysql8.0是怎么更改密码的。

更改数据库密码

  1. 以管理员身份运行cmd,并用cd命令切换到mysql的bin目录下;
  2. 输入mysql -u root -p,并输入原先的密码,登录mysql;
  3. 输入use mysql 连接数据库;
  4. 输入 ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新的密码'; FLUSH PRIVILEGES;注意最后的“;”不能去掉;
  5. 输入flush privileges; 刷新权限,这里也要注意最后的“;”不能去掉 ;
  6. 输入quit停止;
  7. 输入net start mysql启动我的数据库;
  8. 输入mysqladmin -u root -p shutdown,这里的密码是新设置的密码;
  9. 输入 net start mysql 启动mysql,输入mysql -u root -p,回车后输入新设置的密码,这样就可以成功修改密码了。