适用:如果你已经安装好MySQL,但因为忘记root密码且不想重新下载而无法建立连接,那么本文可能对你有用

前提:已经在环境变量中配置好mysql路径

步骤:

Step1.准备配置文件

(1)查看根目录MySQL\MySQL Server 8.0下是否有my.ini文件

若无则手动添加,内容如下:

[mysqld]

basedir=C:\Program Files\MySQL\MySQL Server 8.0

datadir=C:\Program Files\MySQL\MySQL Server 8.0\data

port = 3306

character-set-server=utf8mb4

default_authentication_plugin=mysql_native_password

[mysql]default-character-set=utf8mb4

注: 这里使用utfmb4而非一般的utf8是因为后来出现系统警告:utf8默认为utf8mb3,建议修改成utf8mb4,否则会引起歧义

注:若因权限无法创建文件,可以在桌面先创建一个txt文档,将my.ini内容复制进去,再修改txt文档为my.ini,最后拖进根目录下。

(2)查看根目录下是否有data文件夹,若无则创建一个。

Step2.获得初始化密码

以管理员身份打开cmd,执行如下指令

mysqld -- initialize --console

如果成功,没有任何[ERROR]出现,则记住以[Note]开头的新生成密码(若无则说明密码为空),并跳转到step 5

如果出现无法初始化data文件等情况,继续进行step3

2020-05-27T13:15:21.009962Z 0 [System] [MY-010116] [Server] C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe (mysqld 8.0.18) starting as process 9524

2020-05-27T13:15:21.036492Z 1 [ERROR] [MY-011011] [Server] Failed to find valid data directory.

2020-05-27T13:15:21.041391Z 0 [ERROR] [MY-010020] [Server] Data Dictionary initialization failed.

2020-05-27T13:15:21.043381Z 0 [ERROR] [MY-010119] [Server] Aborting

2020-05-27T13:15:21.045730Z 0 [System] [MY-010910] [Server] C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe: Shutdown complete (mysqld 8.0.18) MySQL Community Server - GPL.

Step3.删除mysqld

先删除根目录下data文件夹的内容,再执行mysqld -remove MySQL命令,删除mysqld

C:\Program Files\MySQL\MySQL Server 8.0\bin>mysqld -remove MySQL

结果如下:

Step4.重新初始化mysqld

执行如下命令:

C:\Program Files\MySQL\MySQL Server 8.0\bin>mysqld --initialize

可以看到data文件夹下生成新文件

Step5.安装mysqld

C:\Program Files\MySQL\MySQL Server 8.0\bin>mysqld --install

Service successfully installed.

Step6.启动mysql

C:\WINDOWS\system32>net start mysql

MySQL 服务正在启动 .

MySQL 服务已经启动成功。

Step7.登录mysql

C:\WINDOWS\system32>mysql -u root -p

此处提示输入密码,如果前面有新密码生成,则使用之,若无,则直接按回车。进入以下界面

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 8

Server version: 8.0.18 MySQL Community Server - GPL

Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

Step8.更换密码

使用ALTER修改密码(下面的password处换成你自己的新密码)

mysql> ALTER USER "root"@"localhost" IDENTIFIED BY "password";

Query OK, 0 rows affected (0.01 sec)

最后去mysql workbench建立连接,输入密码,成功连接。

PS:

(1)如果出现以下端口占用提示

2020-05-27T13:19:25.830301Z 0 [System] [MY-010116] [Server] C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe (mysqld 8.0.18) starting as process 13376

2020-05-27T13:19:27.055277Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed.

2020-05-27T13:19:27.064723Z 0 [ERROR] [MY-010262] [Server] Can't start server: Bind on TCP/IP port: 通常每个套接字地址(协议/网络地址/端口)只允许使用一次。

2020-05-27T13:19:27.070412Z 0 [ERROR] [MY-010257] [Server] Do you already have another mysqld server running on port: 3306 ?

2020-05-27T13:19:27.082431Z 0 [ERROR] [MY-010119] [Server] Aborting

2020-05-27T13:19:28.077042Z 0 [System] [MY-010910] [Server] C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe: Shutdown complete (mysqld 8.0.18) MySQL Community Server - GPL.

说明3306端口被占用,新打开cmd,查看端口占用情况

C:\WINDOWS\system32>netstat -ano|findstr "3306"

杀死对应的进程

C:\WINDOWS\system32>taskkill/f /pid 15060 /f

(2)如果mysql服务无法启动,且没有报错,则说明你的mysql已经登录或使用,或者3306端口被占用,关闭对应进程就行。

(3)如果下次打开MySQL Workbench连接时又提示3306端口被占用或者密码错误,则按照上面方法查看3306端口是否被占用,杀死相应进程。如果还是不行,就再次进入MySQL Server的bin目录下执行net start mysql命令,将服务开启,再去MySQL Workbench连接

mysql workbench修改密码_在MySQL Workbench8.0中,忘记MySQL root密码的情况下修改密码...相关推荐

  1. go 用 mysql web开发环境_简单讲解Go程序中使用MySQL的方法

    go官方仅提供了database package,database package下有两个包sql,sql/driver.这两个包用来定义操作数据库的接口,这就保证了无论使用哪种数据库,他们的操作方式 ...

  2. 红旗系统linux忘了开机密码,红旗Linux6.0中忘记了root密码

    很久很久以前,用虚拟机安装了red flag6.0+windows xp 的双系统,很久很久以后,打开虚拟机red flag系统忘记了密码:在网上搜了下解决办法,转了先,不知管不管用!

  3. java6打印机不能用_高分求解:java中调用的打印机在什么情况下不可用?

    java文档中说PrinterJob类中的getPrinterJob()方法无论返回的打印机是否可用都不会返回一个null值.我查阅过一些文献有介绍说可以用getPrintService()方法测试返 ...

  4. linux忘记mysql登录用户密码_linux中忘记mysql用户root密码解决方案

    1.vim /etc/my.cnf [mysqld] skip-grant-tables ##追加此行,跳过权限表, 2.重启mysql systemctl restart mysqld 3.mysq ...

  5. linux中忘记mysql用户root密码解决方案

    linux中忘记mysql用户root密码解决方案 参考文章: (1)linux中忘记mysql用户root密码解决方案 (2)https://www.cnblogs.com/songbao/p/11 ...

  6. 腾讯云mysql高可用方案_腾讯云数据库团队:MySQL数据库的高可用性分析

    作者介绍:易固武,腾讯高级工程师,参与腾讯账号安全建设,腾讯数据仓库(TDW)优化改造,腾讯云数据库等项目,对大规模分布式存储和计算系统有浓厚的兴趣和经历 MySQL数据库是目前开源应用最大的关系型数 ...

  7. vc6.0 点击鼠标获取mysql数据库所在行_VC6.0中对MySQL数据库的操作

    VC6.0中对MySQL数据库的操作 1.在mysql目录下找到名字为libmySQL.dll和libmySQL.lib 的文件拷贝到当前工程目录下,并在"工程->设置->连接& ...

  8. 不删除配置的情况下修改路由器密码

    在不清除配置的情况下重置密码 1.配置完路由器,关闭路由器 2.打开路由器,点击CLI按下ctrl+fn+alt+b,进入rommon模式 3.输入confreg 0x2142,再在下一行输入rese ...

  9. java程序中用户名和密码_在Java应用程序中使用密码术

    java程序中用户名和密码 这篇文章描述了如何使用Java密码体系结构 (JCA),该体系结构使您可以在应用程序中使用密码服务. Java密码体系结构服务 JCA提供了许多加密服务,例如消息摘要和签名 ...

  10. Windows密码忘记,如何在无密码情况下进入系统的 解决方法。(失效)

    ​​​​​​​在有的时候,我们的电脑忘记了密码,那么我们如何取回呢?(PS:在这里我使用的是Windows系统) 1.账号分类 大家都知道,在我们个人电脑中,为了安全起见,我们会设置开机密码,而这个开 ...

最新文章

  1. python运维开发之第十一天(RabbitMQ,redis)
  2. Leetcode7 :整数反转(JAVA)
  3. 大剑无锋之面试问到了Kafka???【面试推荐】
  4. iOS开发UI篇—Quartz2D使用(绘图路径)
  5. 染色(树链剖分 洛谷-P2486)
  6. maya 中使用节点连接来求余数:
  7. php 如何保存录像文件,如何录制屏幕并保存下来?
  8. RabbitMQ的Android端接收
  9. PHP推流地址获取图片
  10. LIS最长上升子序列详解+模板(dp和二分做法)
  11. CIO如何做好灾难恢复/数据外泄的业务连续性计划?
  12. unity3d 挂载脚本_Unity3D加载资源的四种方式
  13. 倍福PLC使用Visualization功能实现可视化界面
  14. 《区块链技术与应用》公开课系列笔记——目录导航页
  15. 如何在手机上查银行卡号?进来手把手教你!
  16. 全球地震 Python 爬虫可视化,最频发的地方是这里!
  17. linux配置dhcp超级作用域,Linux DHCP服务器 超级作用域
  18. C++面向对象程序设计
  19. 企业微信渠道二维码如何制作?
  20. 一天一阔阔儿ZYNQ的linux移植完整版(Linux环境搭建以及内核编译)

热门文章

  1. 计算机网络实验六,陕师大 计算机网络实验6wireshark
  2. vue3创建一个响应屏幕高度变化的全局指令
  3. 服务器系统套件,十款免费Web服务器套件
  4. QTreeView复选框的实现
  5. 字符串转数字,数字转字符串
  6. 使用python+Tkinter库构建GUI应用工具 - 个性签名工具
  7. java.io.InvalidClassException: org.antlr.v4.runtime.atn.ATN; Could not deserialize ATN with UUID……
  8. 《机器人SLAM导航核心技术与实战》先导课:如何安装Ubuntu系统
  9. windows自带的特殊符号输入
  10. linux服务器之间设置免密登录