mysql 连接如果报1045错误
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
注:以下场景是在windows系统下完成的
打开windows上的命令终端(Win+R 输入cmd 打开终端)
1.输入 net stop mysql
回车 停止mysql 服务;
stop-mysql.png
2.进入mysql安装目录,找到 my.ini
文件用记事本或者Notepad++打开;
my.ini.png
3.找到 [mysqld]
;在下面一行加入以下一句代码: skip_grant_tables
并保存;
skip_grant_tables.png
4.回到命令终端,输入 net start mysql
启动mysql服务;
start-mysql.png
5.输入命令 mysql -uroot -p
连接数据库;
如果此时提示 mysql 不是内部或外部命令,需要去到环境变量配置中,在 用户变量 的 PATH 变量中将mysql 的路径添加进去即可,注意:这个路径要到bin路径,例如:D:\Tools\MySQL\MySQL5.5\bin
此时,会出现 Enter password: 直接点击回车即可;出现下图所示:
mysql.png
6.输入命令 use mysql
点击回车,连接到数据库;出现 Database changed;
use-mysql.png
7.输入 UPDATE user SET password=PASSWORD('123456')WHERE user='root';
注意:
1.这句sql语句末尾一定要加上英文字符的分号;
2.其中的 123456这里是设置的新密码,将其改为你自己的密码即可,其他的不用做更改。例如下图所示的就是将123456更换为root
update-mysql.png
8.继续输入 quit
回车 退出mysql, 或是直接关闭终端窗口(不过关闭后,一会儿还要打开);运行 net stop mysql
停止mysql 服务;打开之前修改的 my.ini
文件,将之前添加的 skip_grant_tables
删除 或者直接在前面加一个 # 号注释掉; 保存文件,回到终端,输入 net start mysql
启动mysql服务;此时再次输入 mysql -uroot -p
回车,提示输入密码,将之前更改的密码输入后 回车即可连接成功;
end.png
9.此时打开Navicat或是SQLyog等其他客户端,测试是否正常连接;提示连接成功,大功告成,Over!
over.png