登陆mysql时错误代码2003和1045解决方案
一、在命令提示符中登陆mysql时,提示2003报错解决方案:
在cmd中输入mysql -uroot -p回车,输入密码后,出现2003错误,错误提示如下:
原因:mysql服务未启动
解决方法:
1、使用管理员权限运行CMD,执行 mysqld -install,指令安装mysql(执行失败请检查mysql的环境变量是否配置错误,或者直接cd到mysql的bin目录执行改指令),执行完成后,如下图:
2、执行 net start mysql 启动服务后,再次尝试登陆mysql
二、在命令提示符中登陆mysql时,提示1045报错解决方案:
在cmd中输入mysql -uroot -p回车,输入密码后,出现1045错误,错误提示如下:
原因:登陆密码错误
解决方法:
方案1:如果是因为使用了mysqld –-initialize这种简单的初始化命令,那么可以在mysql根目录下的data文件夹里面找到.err文件使用记事本打开,搜索关键字:root,就可以找到随机分配的密码
ps:如果不是随机分配的密码,这个文件是查不到明文密码的
方案2:暂停mysql服务,然后使用mysqld --console --skip-grant-tables --shared-memory;命令,免密码登录,然后修改密码,该方法也适用于找回密码(推荐)
1、使用管理员权限运行CMD,执行 net stop mysql 命令停止mysql服务,然后执行命令mysqld --console --skip-grant-tables --shared-memory
ps:这个时候,不用傻乎乎的等它执行完了,这相当于一个服务,开着才有效
2、重新打开一个cmd窗口,登录mysql,这个时候,不需要输入密码了
3、输入:update mysql.user SET authentication_string='' WHERE user='root';修改密码为空
4、关闭免密登录服务,开启mysql,尝试正常登录看看
ps:如果服务无法正常启动或启动后自动关闭了,请检查配置文件my.ini,是否有skip-grant-tables这一行
在配置文件里面加这行可以直接跳过密码检测,但是那都是8.x以前的事了