likes
comments
collection
share

MySQL 8 账号密码错误_终极解法

作者站长头像
站长
· 阅读数 41

MySQL 版本:v8.0.27

准备工作:

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

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

第一步:停止 mysql 服务

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

MySQL 8 账号密码错误_终极解法

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

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

MySQL 8 账号密码错误_终极解法

第四步:修改 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;

参考:MYSQL8创建、删除用户和授权、消权操作

解法二:初始化 MySQL

第一步:停止 mysql 服务

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

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

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

MySQL 8 账号密码错误_终极解法

第三步:启动 mysql 服务

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

Tips

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

MySQL 8 账号密码错误_终极解法

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

MySQL 8 账号密码错误_终极解法

指定端口号登陆 MySQL

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

查看和修改 MySQL 端口号

查看端口号

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

修改端口号

  1. 停止 mysql 服务;

  2. 修改 my.ini 文件,记事本打开,找到 [mysqld] 下面的 port,修改后保存;

    # The TCP/IP Port the MySQL Server will listen on
    port=3306
    
  3. 启动 mysql 服务;

转载自:https://juejin.cn/post/7134271102947164191
评论
请登录