mysql-8.0.41-winx64 手动安装详细教程(2025版)


一、下载安装包

安装地址如下:

https://dev.mysql.com/downloads/mysql/

在这里插入图片描述

使用7-zip或其他解压软件,解压至不含中文路径的文件夹下
在这里插入图片描述

二、配置环境变量

  1. 按住win+s, 搜索环境变量,打开

在这里插入图片描述

  1. 点击环境变量,新建

在这里插入图片描述

  1. 变量名全部大写,变量值是你刚刚解压的存放mysql的文件路径,点击确定

在这里插入图片描述

  1. 点击Path,点击编辑,点击新建,输入: %MYSQL_HOME%\bin

在这里插入图片描述

  1. 依次点击确定,完成环境变量配置

三、安装配置

  1. 进入安装目录,右键新建文本文档,重命名为:my.ini

在这里插入图片描述

  1. 使用记事本打开,在文件里输入以下内容:

画框的两个部分需要改为自己的实际解压路径,其余不需要改动。

在这里插入图片描述

[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录   ----------是你的文件路径-------------
basedir=D:\Develop\MySQL\mysql-8.0.41-winx64
# 设置mysql数据库的数据的存放目录  ---------是你的文件路径data文件夹自行创建
datadir=D:\Develop\MySQL\mysql-8.0.41-winx64\data
# 允许最大连接数
max_connections=200
# 允许连接失败的次数。
max_connect_errors=10
# 服务端使用的字符集默认为utf8mb4
character-set-server=utf8mb4
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
#mysql_native_password
default_authentication_plugin=mysql_native_password
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8mb4
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8mb4

四、启动 MySQL 服务,修改密码

  1. 按住win+s, 输入cmd,以管理员身份运行

在这里插入图片描述

  1. cd 进入MySQL bin 目录, d: 切换盘符

在这里插入图片描述

  1. 按以下步骤依次操作:
  • 1.初始化,获取默认密码(a#w8!;o#lt!D
    mysqld --initialize --console
    
  • 2.安装mysql服务
    mysqld --install mysql
    
  • 3.启动 mysql 服务
    net start mysql
    
  • 4.登录mysql, 密码是冒号后面的默认密码(填你自己的)
    mysql -uroot -p
    
  • 5.修改mysql密码
    ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
    
  • 6.退出mysql
    exit 或者 quit
    

在这里插入图片描述

  1. 设置MySQL服务手动启动,防止电脑启动时影响开机速度
    按住win+R, 输入services.msc, 回车确定

在这里插入图片描述

找到mysql服务,右键,属性,选择启动类型为:手动,点击确定。

在这里插入图片描述

【注意】

因为设置了手动启动,所以下次使用 MySQL 前要手动开启。
可以按照上述步骤:找到mysql服务,右键启动 或 停止。
也可以:以管理员身份运行 cmd, 输入:net start mysql 启动,net stop mysql 停止。


END 配置完成


<think>好的,我现在需要解决用户遇到的MySQL修改密码后登录出现ERROR 1045的问题。首先,用户提到使用的是MySQL 8.0.41本,在Windows系统下。根据提供的引用信息,特别是引用[1]和引用[2],用户可能在修改密码后遇到了权限问题或密码设置的问题。 首先,我应该回忆一下MySQL 8.0本在密码认证方面的变化。记得从MySQL 8.0开始,默认的身份验证插件从`mysql_native_password`改为了`caching_sha2_password`[^1]。这可能导致一些旧的客户端或连接方式出现问题,但用户在修改密码时如果没有指定使用旧的插件,也可能导致登录失败。 接下来,用户可能按照常规方法修改了密码,但之后无法登录。常见的解决办法包括使用skip-grant-tables模式启动MySQL服务,然后重新设置密码。但需要注意,在MySQL 8.0中,修改密码的语法可能与之前的本不同,需要使用`ALTER USER`而不是`UPDATE`直接修改user表,因为直接修改表可能不会更新权限或者导致插件不匹配的问题。 另外,引用[2]提到在WAMP环境下修改根密码后出现无法连接的问题,提示无效的密码。这可能是因为在修改密码时没有正确刷新权限,或者密码策略不符合要求,比如密码过于简单。此外,可能需要检查用户的主机权限是否正确,比如是否为`localhost`或其他主机设置了正确的访问权限。 接下来,我需要整理出具体的解决步骤。首先,用户需要停止MySQL服务,然后以跳过权限检查的方式启动它。这可以通过在命令行中使用`mysqld --skip-grant-tables`来实现。然后,连接到MySQL服务器,无需密码即可登录。这时,执行`FLUSH PRIVILEGES;`来重新加载权限表,接着使用`ALTER USER`语句来修改密码,并确保使用正确的身份验证插件。例如,将root用户的密码设置为新密码,并指定使用`mysql_native_password`插件,或者保持默认的`caching_sha2_password`但确保客户端支持。 修改密码后,需要重启MySQL服务,并以正常模式启动,然后尝试用新密码登录。如果仍然有问题,可能需要检查MySQL的配置文件my.ini或my.cnf,确认是否有任何旧的设置或残留的参数导致冲突。另外,用户可能需要确认在修改密码时是否有拼写错误,或者密码中包含特殊字符需要转义处理。 此外,用户可能在修改密码后没有正确刷新权限,导致旧的密码仍然被缓存。因此,使用`FLUSH PRIVILEGES;`命令是非常重要的。同时,检查用户表中是否存在多个root用户记录,不同的主机(如localhost、127.0.0.1、::1)可能需要分别处理,确保每个记录的密码都正确更新。 最后,如果所有方法都失败,可能需要考虑备份数据,重新安装MySQL或WAMP套件,但这应该是最后的手段。用户还应该参考MySQL官方文档,确认是否有本特定的注意事项,比如在Windows服务中的配置步骤是否正确,或者是否有其他依赖项需要调整。</think>### MySQL ERROR 1045 (Access Denied) 的解决方法 #### 1. **确认问题原因** 当修改MySQL密码后出现`ERROR 1045`,通常由以下原因导致: - 密码未正确更新或未刷新权限。 - 身份验证插件不匹配(如MySQL 8.0默认使用`caching_sha2_password`,旧客户端可能不支持)[^1]。 - 用户表权限配置错误[^2]。 --- #### 2. **通过安全模式重置密码** **步骤1:停止MySQL服务** ```bash # Windows命令(管理员权限) net stop mysql80 ``` **步骤2:以无权限验证模式启动MySQL** ```bash # 进入MySQL安装目录的bin文件夹 mysqld --skip-grant-tables --shared-memory ``` **步骤3:新窗口登录并重置密码** ```bash mysql -u root ``` ```sql -- 刷新权限表 FLUSH PRIVILEGES; -- 修改root密码(MySQL 8.0语法) ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password'; -- 若需兼容旧客户端,指定身份验证插件 ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'new_password'; ``` **步骤4:重启MySQL服务** ```bash # 关闭mysqld进程,然后正常启动服务 net start mysql80 ``` --- #### 3. **验证配置文件** 检查`my.ini`或`my.cnf`文件(通常位于`C:\ProgramData\MySQL\MySQL Server 8.0`): ```ini [mysqld] default_authentication_plugin=mysql_native_password # 可选:强制使用旧插件 ``` --- #### 4. **其他可能问题** - **密码策略冲突**:若密码太简单,需调整策略: ```sql SET GLOBAL validate_password.policy = LOW; ``` - **多用户记录**:删除重复的root用户: ```sql DELETE FROM mysql.user WHERE User='root' AND Host NOT IN ('localhost', '127.0.0.1'); ``` --- #### 5. **WAMP环境特殊处理** 若通过WAMP修改密码后失败: 1. 使用WAMP菜单中的**MySQL控制台**直接登录。 2. 执行`ALTER USER`命令后,重启所有WAMP服务[^2]。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值