mysql忘记密码怎么办(windows linux)

以下是“mysql忘记密码怎么办(windows linux)”的完整攻略:

思路概述

当我们忘记了MySQL的密码,需要通过以下几个步骤来重置密码:

  1. 停止MySQL服务
  2. 创建并编辑一个名为mysqld.ini或my.cnf的配置文件
  3. 在配置文件中添加一行命令:skip-grant-tables
  4. 以安全模式启动MySQL服务
  5. 使用root用户登录MySQL
  6. 修改root用户密码
  7. 移除配置文件中的skip-grant-tables命令
  8. 重启MySQL服务

具体步骤

Windows操作系统:

  1. 停止MySQL服务

在Windows系统的服务中找到MYSQL服务并停止,或者使用命令行执行以下命令:

net stop mysql
  1. 创建并编辑一个名为mysqld.ini的配置文件

在MySQL安装文件夹下的bin目录中,创建一个名为mysqld.ini的文本文件,并添加以下内容:

[mysqld]
skip-grant-tables
  1. 以安全模式启动MySQL服务

使用管理员身份运行命令行工具,进入MySQL的安装路径下的bin目录,输入以下命令启动MySQL的安全模式:

mysqld.exe --defaults-file="..\my.ini" --init-file="C:\mysql-init.txt" --console

这里的“C:\mysql-init.txt”是一个包含以下命令的文本文件,用于在启动MySQL服务时重置root用户密码:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';

其中,“new_password”为你想要设置的新密码。

  1. 修改root用户密码

在上面的命令行窗口中,输入以下命令以进入MySQL服务:

mysql -u root

因为我们使用了skip-grant-tables选项,所以此时不需要输入密码,直接回车即可进入MySQL。

在MySQL命令行中,输入以下命令重置root用户密码:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
  1. 移除配置文件中的skip-grant-tables命令

关闭MySQL安全模式服务窗口并编辑mysqld.ini文件,删除“skip-grant-tables”这一行并保存。

  1. 重启MySQL服务

在Windows服务中找到MYSQL服务并重新启动,或者在命令行中执行以下命令:

net start mysql

Linux操作系统:

  1. 停止MySQL服务

使用以下命令停止MySQL服务:

sudo systemctl stop mysql
  1. 创建并编辑一个名为my.cnf的配置文件

在MySQL安装文件夹下,使用以下命令创建一个名为my.cnf的文件:

sudo nano /etc/mysql/my.cnf

在文件中添加以下一行:

skip-grant-tables
  1. 以安全模式启动MySQL服务

使用以下命令以安全模式启动MySQL服务:

sudo mysqld_safe --skip-grant-tables &
  1. 使用root用户登录MySQL

在命令行中执行以下命令,使用root用户登录MySQL:

mysql -u root

因为我们使用了skip-grant-tables选项,所以此时不需要输入密码,直接回车即可进入MySQL。

  1. 修改root用户密码

在MySQL命令行中,输入以下命令以重置root用户密码:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';

其中,“new_password”为你想要设置的新密码。

  1. 移除配置文件中的skip-grant-tables命令

使用以下命令编辑my.cnf文件,删除“skip-grant-tables”这一行并保存。

sudo nano /etc/mysql/my.cnf
  1. 重启MySQL服务

使用以下命令重启MySQL服务:

sudo systemctl restart mysql

示例:

示例一

用户A使用Windows系统,在执行MySQL操作时,不小心忘记了root用户密码,需要重设密码。他按照上述步骤操作,在重设root用户密码后成功登录MySQL。

示例二

用户B使用Linux系统,在执行MySQL操作时,因为生产环境需要,设置了root用户密码,但不小心忘记了密码。他按照上述步骤操作,在重设root用户密码后成功登录MySQL。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:mysql忘记密码怎么办(windows linux) - Python技术站

(0)
上一篇 2023年5月22日
下一篇 2023年5月22日

相关文章

  • MySQL8.0 DDL原子性特性及实现原理

    MySQL 8.0 DDL原子性特性及实现原理攻略 什么是DDL操作 DDL(Data Definition Language)包含了用来创建(CREATE)、修改(ALTER)、删除(DROP)数据库对象(如表,视图,过程等)的语句。对于MySQL而言,通过执行各种DDL操作可以创建,修改数据库对象,从而达到管理数据的目的。 DDL对原始数据的影响 在进行…

    database 2023年5月22日
    00
  • SQL语句练习实例之三——平均销售等待时间

    这里是SQL语句练习实例之三——平均销售等待时间的完整攻略。 问题描述 假设我们有一个销售系统,里面有两张表: sales 表,包含销售的信息,包括销售的时间、销售员和销售的数量等; salesman 表,包含销售员的信息,包括销售员的编号和姓名等。 现在需要我们统计每个销售员的平均销售等待时间,即从销售员服务的第一个客户进入销售系统开始计算,到最后一个客户…

    database 2023年5月21日
    00
  • SQL 从一个表检索与另一个表不相关的行

    要从一个表检索与另一个表不相关的行,在SQL中可以使用外部连接(outer join)。以下是使用外部连接的两个实例: 示例一 我们有两个表:学生表和班级表。学生表包含学生的姓名、年龄和所在班级的ID。而班级表包含班级的ID和班级的名称。我们想要检索出所有没有分配到班级的学生。 首先,我们可以使用左外部连接(left outer join)将学生表和班级表连…

    database 2023年3月27日
    00
  • 有效防止SQL注入的5种方法总结

    接下来我将为你详细讲解“有效防止SQL注入的5种方法总结”的完整攻略。这篇文章旨在帮助网站开发者科学、安全地使用SQL,正确防范SQL注入攻击,保障网站系统安全。 一、概述 SQL注入攻击是指攻击者通过在Web应用程序输入的参数中注入SQL代码,从而控制后台的数据库服务器。SQL注入攻击可能导致数据泄露、系统瘫痪、用户信息被窃取等严重后果。下面将介绍五种有效…

    database 2023年5月21日
    00
  • Derby 和 MS SQL Server 的区别

    Derby和MS SQL Server都是关系型数据库管理系统,但它们之间存在一些显著的区别,下面我们将从以下几个方面进行详细分析。 1. 开发者和授权 Derby是由Apache Software Foundation(ASF)开发和维护的开源数据库管理系统。任何人都可以免费使用、修改和分发它的源代码,它的代码库和开发计划都是公开可见的。 Microsof…

    database 2023年3月27日
    00
  • CentOS 6.3下源码安装LAMP(Linux+Apache+Mysql+Php)运行环境步骤

    CentOS 6.3下源码安装LAMP运行环境步骤 本文将介绍如何在CentOS 6.3下使用源码安装的方式安装LAMP运行环境。 安装 Apache 1. 安装依赖 在安装 Apache 之前,需要先安装一些必要的软件包: sudo yum install gcc apr-devel apr-util-devel pcre-devel 2. 下载和解压 从…

    database 2023年5月22日
    00
  • 如何在Linux中修改tomcat端口号

    在Linux中修改tomcat的端口号有以下步骤: 登录到Linux服务器首先需要登录到Linux服务器,可以使用SSH等方式进行登录。 停止Tomcat服务修改Tomcat配置文件需要先关闭Tomcat服务,可以使用以下命令停止Tomcat: sudo systemctl stop tomcat 打开server.xml文件 Tomcat的端口号配置保存在…

    database 2023年5月22日
    00
  • Mybatis执行多条语句/批量更新方式

    Mybatis是一款优秀的ORM框架,提供了多种方式执行SQL语句。当需要批量执行多条SQL语句或进行批量更新时,Mybatis提供了两种方式:batch和foreach。 1. Batch方式 Batch方式是将多条SQL语句打包成一条批量执行。在Mybatis中,一般使用SqlSession的Batch()方法来进行批量更新。 示例代码如下: try (…

    database 2023年5月18日
    00
合作推广
合作推广
分享本页
返回顶部