题记部分

Windows 场景下

1、先使用管理员身份打开两个命令提示符窗口(winA和winB)

2、在命令提示符窗口winA中将MySQL服务停掉net stop mysql

Microsoft Windows [版本 10.0.22621.1413]
(c) Microsoft Corporation。保留所有权利。 C:\Windows\System32>net stop mysql
MySQL 服务正在停止.
MySQL 服务已成功停止。

3、输入mysqld --console --skip-grant-tables --shared-memory

Microsoft Windows [版本 10.0.22621.1413]
(c) Microsoft Corporation。保留所有权利。 C:\Windows\System32>net stop mysql
MySQL 服务正在停止.
MySQL 服务已成功停止。 C:\Windows\System32>mysqld --console --skip-grant-tables --shared-memory
2023-03-30T06:09:38.525723Z 0 [System] [MY-010116] [Server] D:\Plugins\mysql\bin\mysqld.exe (mysqld 8.0.28) starting as process 21596
2023-03-30T06:09:38.545438Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2023-03-30T06:09:38.776569Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2023-03-30T06:09:38.911341Z 0 [Warning] [MY-011311] [Server] Plugin mysqlx reported: 'All I/O interfaces are disabled, X Protocol won't be accessible'
2023-03-30T06:09:38.964124Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed.
2023-03-30T06:09:38.964391Z 0 [System] [MY-013602] [Server] Channel mysql_main configured to support TLS. Encrypted connections are now supported for this channel.
2023-03-30T06:09:39.003842Z 0 [System] [MY-010931] [Server] D:\Plugins\mysql\bin\mysqld.exe: ready for connections. Version: '8.0.28' socket: '' port: 0 MySQL Community Server - GPL.

4、在命令提示符窗口winB中登录MySQLmysql -uroot -p (在Enter password:处直接按回车键即可)

C:\Windows\System32>mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 7
Server version: 8.0.28 MySQL Community Server - GPL Copyright (c) 2000, 2022, Oracle and/or its affiliates. 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>

5、切换到数据库mysql:use mysql;

6、修改root用户密码:alter user root@localhost identified by '新密码';

7、刷新权限表:flush privileges;

8、退出之后将两个窗口关掉,然后启动MySQL服务,用新密码登录即可。

Linux 场景下

1、修改MySQL的配置文件(默认为/etc/my.cnf),在[mysqld]段下添加一行skip-grant-tables。

2、保存配置文件后,重启MySQL服务。可以使用以下命令重启MySQL服务:service mysqld restart

3、再次进入MySQL命令行,使用以下命令登录MySQL数据库:mysql -u root -p 输入密码时直接回车,就会进入MySQL数据库。

4、按照常规流程修改root密码。可以使用以下命令来修改密码:

use mysql;
update user set password=password('新密码') where user='root';
flush privileges;

5、密码修改完毕后,再按照步骤1中的流程,删掉配置文件中的那行skip-grant-tables,并且重启MySQL服务,新密码就生效了。可以使用以下命令重启MySQL服务:service mysqld restart

注意事项

  • 在重置root密码的过程中,需要确保服务器处于安全的状态,即没有人能够任意地连接MySQL数据库。可以采用将MySQL对外的端口封闭,并且停止Apache以及所有的用户进程的方法实现服务器的准安全状态。最安全的状态是到服务器的Console上面操作,并且拔掉网线。
  • 在修改root密码时,请确保使用强密码,并妥善保管新密码。

— 业精于勤荒于嬉,行成于思毁于随 —

MySQL Q&A - [01] root密码忘记了怎么办的更多相关文章

  1. MySQL root密码忘记解决

    --MySQL root密码忘记的解决办法 -----------------------------------2014/03/14 1.首先确认服务器出于安全的状态,也就是没有人能够任意地连接My ...

  2. mysql的root密码忘记解决方

    mysql的root密码忘记解决方 没关注第一步,直接从第二步开始,(可以参看上一篇,先停止mysql服务).然后从第二步开始. 我启动mysql用的命令是/etc/init.d/mysql  sta ...

  3. Centos7 之 MariaDB(Mysql) root密码忘记的解决办法

    MariaDB(Mysql) root密码忘记的解决办法 1.首先先关闭mariadb数据库的服务 # 关闭mariadb服务命令(mysql的话命令就是将mariadb换成mysql) [root@ ...

  4. MySQL root密码忘记后更优雅的解决方法

    MySQL root密码忘记后更优雅的解决方法 https://www.jb51.net/article/143453.htm /usr/bin/mysqld_safe --defaults-file ...

  5. Mysql的Root密码忘记,查看或修改的解决方法

    Mysql的Root密码忘记,查看或修改的解决方法:1.首先启动命令行2.在命令行运行:taskkill /f /im mysqld-nt.exe3.继续在命令行运行:mysqld-nt --skip ...

  6. MySQL初始化root密码以及root密码忘记解决方法

    一.MySQL初始化root密码 mysql默认root用户没有密码,输入mysql –u root 进入mysql 1.进入mysql数据库 use mysql; 2.初始化root密码 mysql ...

  7. Mysql数据库中设置root密码的命令及方法

    我们都知道通常PHP连接 Mysql都是通过root用户名和密码连接,默认情况下在Mysql安装时root初始密码为空,在安装使用PHP开源系统时,都需要填写连接Mysql数据库的用户名和密码,此时当 ...

  8. 【转】CentOS6下安装mysql后,重置root密码方法

    本文转自:CentOS6下安装mysql后,重置root密码方法 centos下安装mysql,居然不知道root用户密码,本想重装,不过还是先度娘了一些,发现这篇文章,刚好解决我的燃眉之急,太赞了. ...

  9. mysql(mariadb)如何更改root密码

    mysql(或者mariadb,她是mysql的一个分支,完全开源,新版本的linux系统默认安装的是mariadb)如何更改root密码呢?我们主要介绍命令mysqladmin来实现. mysql( ...

  10. Ubuntu root 密码忘记-恢复

    @Ubuntu root 密码忘记-恢复 2012-04-27 11:09:22 方法一: 如果用户具有sudo权限,那么直接可以运行如下命令: #sudo su root #passwd #更改密码 ...

随机推荐

  1. Ubuntu22.04安装cuda12.1+cudnn8.9.2+TensorRT8.6.1+pytorch2.3.0+opencv_cuda4.9+onnxruntime-gpu1.18

    说来话长,我想配一个一劳永逸的环境,方便以后复用.省的以后反复查教程重新装了 1. 安装miniconda+py3.10 cd /root wget -q https://repo.anaconda. ...

  2. 关于 Span 的一切:探索新的 .NET 明星: 2. Span<T> 是如何实现的?

    2. Span<T> 是如何实现的? https://docs.microsoft.com/en-us/archive/msdn-magazine/2018/january/csharp- ...

  3. k8s.HPA.使用自定义指标Pod自动扩容

    k8s.HPA.使用自定义指标Pod自动扩容 环境 env : kubernetes v1.22 metrics-server 0.6.1 prometheus v2.36.1 prometheus- ...

  4. 【Mybatis】学习笔记01:连接数据库,实现增删改

    需要数据库SQL的请跳转到文末 哔哩哔哩 萌狼蓝天 [转载资料][尚硅谷][MyBatis]2022版Mybatis配套MD文档 [Mybatis]学习笔记01:连接数据库,实现增删改 [Mybati ...

  5. Vscode实现应用qss样式表

    qss简介 qss(Qt Style Sheets)是一种基于CSS的样式语言,用于描述用户界面元素的外观和感觉.qss可以让用户在不修改代码的情况下,轻松地自定义应用程序的外观. 其语法基本如下: ...

  6. Java代码覆盖率super-jacoco

    开源项目地址 https://gitee.com/didiopensource/super-jacoco 项目流程 项目架构 部署步骤 注意:一定要用Linux服务器部署,不要用Windows 准备L ...

  7. containerd 导入镜像

    containerd 导入镜像 containerd而非docker,需要离线导入镜像 解决原理https://segmentfault.com/a/1190000019534913ctr --nam ...

  8. Uninstall or delete MariaDB completely for re-installation

    I am new to this forum so pse forgive me if I am asking a question which already has been answered. ...

  9. 七牛云API的使用包括Ajax上传功能及凭证生成

    1.服务端(主要用于生成上传,删除,下载等凭证) 引入Qiniu的Get包.包就叫Qiniu. //上传凭证 //上传凭证:其余凭证类似的写法 public string UpLoadToken() ...

  10. [转]ubuntu20.04使用dev-sidecar找不到安装证书

    火狐.chrome等浏览器不走系统证书,火狐.谷歌浏览器必须在浏览器上安装证书 然后死活找不到证书,搜索了整个目录也没有. 原来是我的显示隐藏文件没打开.打开目录的"显示隐藏文件" ...