好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

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

前言

MySQL 版本:v8.0.27

准备工作:

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

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

第一步:停止 mysql 服务

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

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

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

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

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

Tips

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

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

指定端口号登陆 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 账号密码错误终极解决方法的详细内容...

  阅读:62次