当前位置: 代码迷 >> 综合 >> ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password:YES)解决办法
  详细解决方案

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

热度:41   发布时间:2023-11-22 11:38:02.0

最好用的方法:

1.输入命令行来到mysql的bin目录下(C:\Program Files\MySQL\MySQL Server 5.5\bin),输入下列粗体命令

输入net stop mysql停止MySQL服务

2.输入命令行来到mysql的bin目录下,输入下列粗体命令

C:\Program Files\MySQL\MySQL Server 5.5\bin>mysqld  --defaults-file="C:\Program Files\MySQL\MySQL Server 5.5\my.ini" --console --skip-grant-tables

然后显示下列信息说明MySQL启动:

190619 10:30:33 [Note] Plugin 'FEDERATED' is disabled.
190619 10:30:33 InnoDB: The InnoDB memory heap is disabled
190619 10:30:33 InnoDB: Mutexes and rw_locks use Windows interlocked functions
190619 10:30:33 InnoDB: Compressed tables use zlib 1.2.3
190619 10:30:33 InnoDB: Initializing buffer pool, size = 42.0M
190619 10:30:33 InnoDB: Completed initialization of buffer pool
190619 10:30:33 InnoDB: highest supported file format is Barracuda.
190619 10:30:33  InnoDB: Waiting for the background threads to start
190619 10:30:34 InnoDB: 1.1.8 started; log sequence number 15431763
190619 10:30:34 [Note] Server hostname (bind-address): '0.0.0.0'; port: 3306
190619 10:30:34 [Note]   - '0.0.0.0' resolves to '0.0.0.0';
190619 10:30:34 [Note] Server socket created on IP: '0.0.0.0'.
190619 10:30:35 [Note] mysqld: ready for connections.
Version: '5.5.27'  socket: ''  port: 3306  MySQL Community Server (GPL)

3.再以管理员的身份打开一个cmd.exe,输入命令行来到mysql的bin目录下,输入:mysql -uroot mysql

4.进入mysql之后,输入命令行修改密码:

  mysql>update user set authentication_string=password('123456') where user='root';

5.刷新权限:mysql>flush privileges;

6.退出mysql:mysql> quit;

7.把刚才启动mysql的cmd关闭掉(ctr+c)

8.关闭MySQL:D:\MySQL\bin>mysqladmin shutdown(出现错误,则:mysqladmin -uroot -p shutdown 然后输入新密码)

9.至此修改密码完成,可以输入命令行:net start mysql 启动MySQL服务,mysql -uroot -p ,输入密码就可以进入mysql了。

 

 

一般按照网上的解决办法更改:

  1. 打开MySQL目录下的my.ini文件,在文件的最后添加一行“skip-grant-tables”,保存并关闭文件。(Win10默认安装,my.ini在C:\ProgramData\MySQL\MySQL Server 5.5)
  2. 重启MySQL57和MySQL Router服务。
  3. 通过命令行窗口进入MySQL的bin目录,输入“mysql -u root -p”(不输入密码),回车即可进入数据库。(Win10默认安装,bin目录为:C:\Program Files\MySQL\MySQL Server 5.5\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”,回车,然后输入您设置的密码即可成功连接数据库。

但是!:我的始终没有解决好,原因是因为我打开了两个数据库服务,一个mysql5.5,一个mysql5.7,最后关闭了5.之后就可以连接了

  相关解决方案