MySQL 账号密码错误终极解决方法

前言

MySQL 版本:v8.0.27

准备工作:

MySQL 环境变量配置无误,可直接在命令行运行 mysql、mysqld 等服务

解法一:进入 MySQL 安全模式,无密码登录

第一步:停止 mysql 服务

第二步:以管理员权限运行命令行 mysqld --console --skip-grant-tables --shared-memory

MySQL 账号密码错误终极解决方法_第1张图片

注意:mysqld –skip-grant-tables 实测在 MySQL 8.0 中已失效。

第三步:重新打开一个管理员权限的命令行窗口,输入 mysql

MySQL 账号密码错误终极解决方法_第2张图片

第四步:修改 root 用户密码和用户权限

当执行语句出现错误:

  • ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
  • 执行 flush privileges; 刷新权限即可
  • 新建用户: create user '{username}'@'localhost' identified by '‘{password}'; flush privileges;
  • 修改密码: Alter user '{username}'@'localhost' identified by '{new_password}'; flush privileges;
  • 授权: grant all privileges on *.* to '{username}'@'localhost' with grant option;

解法二:初始化 MySQL

第一步:停止 mysql 服务

第二步:转移 MySQL 数据存储目录

将配置文件 my.ini 中的 datadir 属性修改为目标路径(可以将原 /data 文件夹下的内容复制转移),或直接将 /data 删掉。

管理员权限打开命令行,输入 mysqld --initialize --user=mysql --console,会生成初始化密码:

MySQL 账号密码错误终极解决方法_第3张图片

第三步:启动 mysql 服务

第四步:通过初始密码进入 MySQL 并修改用户密码

Tips

查看 service 服务项目配置所在位置

MySQL 账号密码错误终极解决方法_第4张图片

右键点击服务项,打开属性;配置文件在可执行文件路径中。

MySQL 账号密码错误终极解决方法_第5张图片

指定端口号登陆 MySQL

# 大写 -P 为端口号参数
$ mysql -u root -P 3307 -h localhost -p

查看和修改 MySQL 端口号

查看端口号

登入数据库后,在 mysql> 后面输入 show global variables like 'port'; 或直接输入 \s

修改端口号:

  • 停止 mysql 服务;
  • 修改 my.ini 文件,记事本打开,找到 [mysqld] 下面的 port,修改后保存;
# The TCP/IP Port the MySQL Server will listen on
port=3306

启动 mysql 服务;

到此这篇关于MySQL 账号密码错误终极解决方法的文章就介绍到这了,更多相关MySQL密码错误解法内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

你可能感兴趣的:(MySQL 账号密码错误终极解决方法)