MySQL – 错误1045 – 访问被拒绝

以某种方式,当我尝试通过命令行访问MySQL时,我设法得到这个错误:

[root@localhost ~]# mysql -u root -p Enter password: ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) 

我已经尝试使用此HowTo重置密码没有任何运气。

我卸载了MySQL完成并重新安装,但我仍然被要求input密码。 我不知道为什么这样!

有人可以帮助我得到MySQL的默认安装。

环境

Fedora Core 10,完全root访问,Apache和PHP安装

感谢您的任何帮助!!

编辑

对于所有那些想节省几个小时“血液咳嗽”的人来说 – 当你卸载MySQl的时候,彻底删除掉所有留下的东西。 如果你不这样做,它将永远不会是一个新鲜的安装。

如果你实际上已经设置了一个root密码,你刚刚丢失/忘记了它:

  1. 停止MySQL
  2. 使用skip-grant-tables选项手动重新启动它: mysqld_safe --skip-grant-tables

  3. 现在,打开一个新的terminal窗口并运行MySQL客户端: mysql -u root

  4. 用这个MySQL命令手动重置root密码: UPDATE mysql.user SET Password=PASSWORD('password') WHERE User='root'; 如果您正在使用MySQL 5.7(在terminal中使用mysql –version进行检查),那么命令是:

     UPDATE mysql.user SET authentication_string=PASSWORD('password') WHERE User='root'; 
  5. 用这个MySQL命令刷新权限: FLUSH PRIVILEGES;

http://www.tech-faq.com/reset-mysql-password.shtml

(也许这不是你所需要的,Abs,但是我认为将来人们可能会对这个问题感到困惑)

尝试连接没有任何密码:

 mysql -u root 

我相信最初的默认是没有密码的帐户(显然应尽快更改)。

使用此命令检查可能的输出

 mysql> select user,host,password from mysql.user; 

产量

 mysql> select user,host,password from mysql.user; +-------+-----------------------+-------------------------------------------+ | user | host | password | +-------+-----------------------+-------------------------------------------+ | root | localhost | *8232A1298A49F710DBEE0B330C42EEC825D4190A | | root | localhost.localdomain | *8232A1298A49F710DBEE0B330C42EEC825D4190A | | root | 127.0.0.1 | *8232A1298A49F710DBEE0B330C42EEC825D4190A | | admin | localhost | *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 | | admin | % | | +-------+-----------------------+-------------------------------------------+ 5 rows in set (0.00 sec) 
  1. 在这个用户pipe理员将不被允许从另一个主机login,虽然你已经授予权限。 原因是用户pipe理没有被任何密码识别。
  2. 再次使用GRANT命令授予用户pipe理员密码

     mysql> GRANT ALL PRIVILEGE ON *.* TO 'admin'@'%' IDENTIFIED by 'password' 

然后检查赠送名单出来会像他一样

 mysql> select user,host,password from mysql.user; +-------+-----------------------+-------------------------------------------+ | user | host | password | +-------+-----------------------+-------------------------------------------+ | root | localhost | *8232A1298A49F710DBEE0B330C42EEC825D4190A | | root | localhost.localdomain | *8232A1298A49F710DBEE0B330C42EEC825D4190A | | root | 127.0.0.1 | *8232A1298A49F710DBEE0B330C42EEC825D4190A | | admin | localhost | *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 | | admin | % | *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 | +-------+-----------------------+-------------------------------------------+ 5 rows in set (0.00 sec) 

如果所需的用户(例如用户“admin”)需要被允许login,则使用一次GRANT命令并执行该命令。

现在用户被允许login

当前的root密码必须为空。 然后在“新的root密码”下input密码并确认。

要在PHPMyAdmin中login,请尝试此解决方法PHPMyAdmin MySQL错误1045 – 拒绝用户root @ localhost访问(使用密码:否)

  1. 转到MySQL控制台
  2. input使用mysql;
  3. UPDATE mysql.user SET Password = PASSWORD('')WHERE User ='root'FLUSH PRIVILEGES; 退出密码('')必须为空
  4. 然后去wamp / apps / phpmyadmin ../ config.inc.php
  5. 查找$ cfg ['Servers'] ['$ I'] ['password'] ='root';
  6. 用['您的旧密码'replace['password']]
  7. 保存文件
  8. 重新启动所有的服务,并goto localhost / phpmyadmin

我无法连接到MySqlpipe理员。 我通过创build另一个用户并分配所有权限来修复它。

我用这个新用户login,它工作。