报错:ERROR 1045 (28000): Access denied for user 'root'@'localhost' 解决方法

1.打开MySQL目录下的my.ini文件,在文件的[mysqld]后面最后添加一行“skip-grant-tables”,保存并关闭文件(linux在 /etc/my.cnf)。


2.重启MySQL57和MySQL Router服务。

3.通过命令行窗口进入MySQL的bin目录,输入“mysql”,回车即可进入数据库(配置了环境的可以不尽然MySQL的bin目录,建议用管理员权限)。

4.执行“use mysql”,使用MySQL数据库

5.执行“ update user set authentication_string=PASSWORD("此处请输入您要设定的密码") where user='root';”,注意密码格式:至少包含一个大写字母、一个小写字母、一个特殊符号、一个数字,密码长度至少为8个字符。

6.打开MySQL目录下的my.ini文件,删除最后一行的“skip-grant-tables”,保存并关闭文件。

7.重启MySQL57和MySQL Router服务

8.在命令行中输入“mysql -u root -p”,回车,然后输入您设置的密码即可成功连接数据库。


网上有很多关于这个问题的解决说明,很多刚接触的朋友可能比较迷惑的是在自己的平台上找不到my.cnf或者my.ini文件,如果你是Linux,使用如下方式可以搜索到:

至于windows平台,去安装目录下找一下my.ini吧。

你可能感兴趣的:(报错:ERROR 1045 (28000): Access denied for user 'root'@'localhost' 解决方法)