维修数据库有感
维修数据库有感
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)”,所以就需要下面的方法来解决这个问题。
维修方法
以管理员身份运行
cmd,并用cd命令切换到mysql的bin目录下;输入命令
mysql -u root -p,登录mysql,输入密码,会返回ERROR 2003 (HY000):Can't connect to MySQL server on localhost (10061);将mysql加入到Windows的服务中。切换到mysql安装目录下的bin文件夹,命令行运行
mysqld --install;初始化mysql数据库,输入
mysqld --initialize --user=root --console。最后面的 root@localhost后的文字为初始化后的root 密码,一定要记住;此时使用
net start mysql成功启动mysql;用生成的密码登录mysql,这样的话就可以成功重新登陆数据库了。
但是这样的话,又会遇到一个问题:生成的密码是无序且复杂的,所以需要我们自己手动更改mysql的密码,由于本人的mysql是8.0以上的版本,因此mysql5.0版本的set password=password('新密码')不能使用,接下来就讲一下mysql8.0是怎么更改密码的。
更改数据库密码
- 以管理员身份运行
cmd,并用cd命令切换到mysql的bin目录下; - 输入
mysql -u root -p,并输入原先的密码,登录mysql; - 输入
use mysql连接数据库; - 输入
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新的密码'; FLUSH PRIVILEGES;注意最后的“;”不能去掉; - 输入
flush privileges; 刷新权限,这里也要注意最后的“;”不能去掉 ; - 输入
quit停止; - 输入
net start mysql启动我的数据库; - 输入
mysqladmin -u root -p shutdown,这里的密码是新设置的密码; - 输入
net start mysql启动mysql,输入mysql -u root -p,回车后输入新设置的密码,这样就可以成功修改密码了。