题记部分

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. DDPM论文解读

    DDPM(Denoising Diffusion Probabilistic Models) 论文研究背景 扩散概率模型(Denoising Diffusion Probabilistic Model ...

  2. OpenID Connect 验证

    OpenID Connect Authentication 几乎所有的 Web 应用程序都提示用户创建账号并登录.为了创建账号,用户被要求提供他们的名字.电子邮件.口令.以及确认口令.不仅这些需要耗费 ...

  3. ChatGPT生成接口测试用例(一)

    接口测试在软件开发生命周期中扮演着至关重要的角色,有助于验证不同模块之间的交互是否正确.若协议消息被恶意修改,系统是否能够恰当处理,以确保系统的功能正常运行,不会出现宕机或者安全问题. 5.1 Cha ...

  4. Nginx漏洞修复:SSL/TLS 服务器瞬时 Diffie-Hellman 公共密钥过弱

    SSL/TLS 服务器瞬时 Diffie-Hellman 公共密钥过弱[原理扫描]. 需编辑 nginx.conf 解决. 1.生成 dhparams.pem. cd /usr/local/nginx ...

  5. k8s calico-node错误日志 listen tcp: lookup localhost on 8.8.4.4:53: no such host

    项目场景:K8s搭建 问题描述:查看pods状态,发现 calico-node异常[root@k8s-master ~]# kubectl get pods --all-namespacesNAMES ...

  6. 组件漏洞测试工具---Dependency-Check

    目录 文章综述 Dependency-Check简介 工作原理 常用命令 报告解读 使用场景 缺点 文章综述 本文主要介绍Dependency-Check工具的工作原理和使用方法,并提供一个开源方案帮 ...

  7. Qt开发经验小技巧111-120

    在不同的平台上文件路径的斜杠也是不一样的,比如linux系统一般都是 / 斜杠,而在windows上都是 \ 两个反斜杠,Qt本身程序内部无论在win还是linux都支持 / 斜杠的路径,但是一些第三 ...

  8. Qt音视频开发10-ffmpeg控制播放

    一.前言 很多人在用ffmpeg做视频流解码的时候,都会遇到一个问题,如何暂停,如果打开的是本地视频文件,暂停你只需要停止解码即可,但是视频流你会发现根本没用,一旦你停止了解码,下次重新解码的时候,居 ...

  9. Linux下获取文件名

    linux 下一切皆文件 1.获取指定路径下文件或目录 ls -la /usr/local/ |grep xxx | head -n 1 |awk '{print$9}'xxx : 替换为要匹配的文件 ...

  10. Solution -「JZOJ #5457」项链

    \(\mathscr{Description}\)   Private link.   给定一条有 \(n\) 个点的圆环和 \(m\) 中颜色, 求在位置旋转, 位置翻转, 颜色旋转等价的意义下, ...