问题:连接MySQL时出现1045(28000)错误,Access denied表示拒绝访问。

(说明:我的数据库版本是mysql-8.0.15-winx64,不同版本可能解决方案不同,仅供参考)

mysql 错误1046 mysql 错误1045 28000_mysql 错误1046

解决步骤:

1、以管理员的身份运行命令行(必须以管理员的身份打开)

2、cd到mysql安装路径的bin目录

3、输入net stop mysql,关闭服务。

4、我的MySQL是8.0,所以在命令行输入mysqld --console --skip-grant-tables --shares-memory

5、再打开一个以管理员运行的命令行,cd带mysql安装路径的bin目录下,输入mysql,连接到数据库,再输入use mysql

6、flush privileges

7、使用alter user ‘root’@‘localhost’ identified by ‘wan’; 修改密码,我设置的密码是wan,密码可以随便设置成自己可以记住的。

8、输入exit;退出(关闭之前的两个命令行界面

9、再次打开一个新的以管理员运行的命令行,cd带mysql安装路径的bin目录,输入net start mysql,开启服务。

10、登陆mysql -u root -p回车,输入刚刚设置的密码即可登陆。

mysql 错误1046 mysql 错误1045 28000_mysql安装_02


在网上找的方案,很多都是错误的,解决不了实际问题。总结遇到的问题:

问题一:MySQL服务无法启动

mysql 错误1046 mysql 错误1045 28000_mysql_03

解决步骤:

1、打开一个以管理员运行的命令行,cd到mysql安装路径的bin目录,输入mysqld --initialize-insecure

(注意:1、首次解压安装包时,MySQL8.0是没有data属性文件,不要手动创建该文件夹,执行完上述命令,文件中会自动生成一个data文件夹。2、首次输入该命令等待时间稍微长一点,执行结束后就可以执行下一步了)

2、输入net start mysql,启动服务。

mysql 错误1046 mysql 错误1045 28000_mysql_04


mysql 错误1046 mysql 错误1045 28000_命令行_05


总结:同样的问题遇到三次了,每次都没有总结,在网上随便找一个解决方案就不管了,今天再次遇到相同的问题,记录一下,不知道是否适合其他人,但是对于我自己的问题是解决了,可以正常使用数据库,希望对你们有帮助,如果记录出现错误,希望大家可以帮我指出来,谢谢。