情况一:知道root密码
使用alter user 'root'@'localhost' identified by 'pass_123' 来修改root用户密码
情况二:忘记密码
根据官方文档,有以下两种方式修改密码(官方文档参见https://dev.mysql.com/doc/refman/8.0/en/resetting-permissions.html)
方案一:执行初始化文件
步骤一:以管理员身份运行命令提示符
步骤二:停止mysql服务(我的服务命名为mysql2,所以停止mysql2),无论如何必须停止
步骤三:创建初始化文件mysql-init.txt添加修改密码指令
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';
步骤四:进入mysql安装目录/bin下(我的安装目录为F:\mysql-8.0.13-winx64)
执行mysqld --defaults-file="F:\mysql-8.0.13-winx64\my.ini" --init-file=F:\mysql-8.0.13-winx64\mysql-init.txt
步骤五:启动mysql
步骤六:使用新密码登录
步骤七:删除步骤三创建的mysql-init.txt文件(可以不删除)
方案二:登录时跳过验证之后重置密码(如果安装多个mysql数据库,需要在第一步参数后加--defaults-file="F:\mysql-8.0.13-winx64\my.ini")
步骤一:停止mysql服务,使用“--skip-grant-tables”配置项来跳过权限验证方式重启mysql服务
有时会报[Server] TCP/IP, --shared-memory, or --named-pipe should be configured on NT OS错误,需要加--shared-memory才能启动
步骤二:再打开一个终端,确认是否可以免密登录,直接运行mysql即可
步骤三:执行FLUSH PRIVILEGES;,刷新权限
步骤四:重置密码
步骤五:启动mysql服务,使用用户名密码验证是否设置成功