ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) 解决

Mysql安装过程中,到最后首次设置密码的时候,出现这个问题。

ERROR1045(28000):Accessdeniedforuser'root'@'localhost'(usingpassword:YES)

这个就是权限不足的问题

Linux环境解决Mysql权限不足

以下方法亲测好使,鉴于版本的多样性,如果解决不了,请百度,Linux环境相关的解决Mysql权限不足还是很多文章的。

方法操作很简单,如下:

# /etc/init.d/MySQL stop

# mysqld_safe --user=mysql --skip-grant-tables --skip-networking &

# mysql -u root mysql

# mysql>use mysql ;

mysql>UPDATE user SETPassword=PASSWORD('newpassword')whereUSER='root'andhost='root'orhost='localhost';//把空的用户密码都修改成非空的密码就行了。

mysql>FLUSH PRIVILEGES;

mysql>quit# /etc/init.d/mysqld restart

# mysql -uroot -p

Enterpassword:<输入新设的密码newpassword>

Windows环境解决Mysql权限不足

Windows的环境下,这个错误解决方案还是很少,一搜索基本都是Linux环境下的解决教程。

Windows下面解决也很简单,但是就是资料少。

第一步停止Mysql服务:

停止Mysql服务,停止命令为:net stop mysql,启动命令为:net start mysql。

第二步 修改Mysql配置文件:

进入到Mysql的bin目录下找到Mysql的配置文件。如下图:


第三步 添加配置信息skip-grant-tables

打开文件,然后添加skip-grant-tables(很重要)


第四步 重新启动Mysql

保存后在原来的CMD窗口启动Mysql,启动命令为:net start mysql。

进入到mysql的安装目录,我的是:E:\mysql-5.6.35-winx64。

再输入:mysql -u root -p,然后输入你的密码。然后回车。应该就提示成功了。


如果这里提示是失败的,请参考以下步骤即可(重要)

通过命令行进入MySQL的BIN目录,输入“mysql -u root -p”(不输入密码),回车即可进入数据库。

执行“use mysql;”,使用mysql数据库。

执行“update user set password=PASSWORD("123456") where user='root';”(修改root的密码)

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

重启MySQL服务(net stop mysql ==》 net start mysql)。

在命令行中输入“mysql -u root -p 123456”,即可成功连接数据库。

解决后,下面的就不用看了。

第五步 修改Mysql密码

执行sql语句:

UPDATE USER SET PASSWORD=PASSWORD('换成你的密码')WHERE USER='root';

提示:Query OK, 3 rows affected (0.00 sec) Rows matched: 3  Changed: 3  Warnings: 0 表示成功。

第六步 刷新数据库配置(重要)

进行到第五步,你这个时候测试,随便输入什么密码都会成功链接。

flush privileges;

输入flush privileges;刷新即可,后面有分号。

然后退出:quit

这个时候你再链接你的数据库,并且是新设置的密码。


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容