【问题标题】:How to change 'root' password in MySQL5.7如何在 MySQL5.7 中更改“root”密码
【发布时间】:2017-08-18 05:33:51
【问题描述】:

我在我的 Windows 机器上忘记了“MySQL”的“根”密码。我尝试使用此link,但收到错误消息(附图片)。谁能帮我解决这个问题?

遵循的步骤:-

1:- 在我的计算机服务部分停止了“MySQL 进程”。

2:- 创建了一个包含数据的 .txt 文件 ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';

3:- 将文件重命名为 mysql-init.txt 并保存到 C 盘。

4:- 打开命令提示符并使用命令 C:> cd C:\Program Files\MySQL\MySQL Server 5.7\bin

5:- 然后用C:> mysqld --init-file=C:\mysql-init.txt

之后,我在控制台中收到此错误消息。

【问题讨论】:

  • 您有需要保留的数据吗?
  • 我看到您使用的是 v 5.7。 5.7.5 和 5.7.6 之间的程序似乎有所不同。您能否概述一下您遵循的步骤(编辑您的问题)?
  • 嗨芒果,感谢您的快速恢复。我不想保留我之前创建的任何数据。只是当我尝试创建一个新数据库时,我遇到了这个问题。
  • 如果不查看您的系统,我无法说出实际出了什么问题,但第一条错误消息表明缺少某些内容。如果情况变得更糟,您可以卸载并重新开始。但是,我强烈建议您同时安装 MySQL WorkBench,它是 Oracle 提供的免费 G​​UI。
  • 嘿 Manngo,现在在我的问题部分中编辑了以下步骤。我已经尝试过卸载安装过程。但似乎没有成功。

标签: mysql


【解决方案1】:

全部,

这里有点扭曲mysql-community-server 5.7 我分享一些步骤,如何重置mysql5.7 root 密码或设置密码。它也适用于 centos7 和 RHEL7。

  1. 停止您的数据库
service mysqld stop
  1. 修改/etc/my.cnf文件添加skip-grant-tables
vi /etc/my.cnf
[mysqld] 
skip-grant-tables
  1. 启动 MySQL
service mysqld start
  1. 选择 MySQL 默认数据库
mysql -u root
mysql> use mysql;
  1. 设置新密码
mysql> update user set authentication_string=PASSWORD("yourpassword") where User='root';
  1. 重启 MySQL 数据库
service mysqld restart
mysql -u root -p

享受:)

【讨论】:

    【解决方案2】:

    适用于 Linux 这个过程是如果你在你的服务器上有 root 访问权限

    首先要做的事情。以 root 身份登录并停止 mysql 守护程序。现在让我们启动 mysql 守护进程并跳过存储密码的授权表。

    mysqld_safe --skip-grant-tables
    

    您应该会看到 mysqld 成功启动。如果没有,那么你有更大的问题。现在你应该可以在没有密码的情况下连接到mysql了。

    mysql --user=root mysql
    
    update user set Password=PASSWORD('new-password') where user='root';
    flush privileges;
    exit;
    

    现在杀死你正在运行的mysqld,然后正常重启它。有问题请告诉我

    适用于窗户

    1. 完全停止您的 MySQL 服务器。这可以从 Wamp 完成(如果您使用它),或者使用“运行”窗口启动“services.msc”,然后在那里停止服务。

    2. 在“运行”窗口中使用“cmd”打开您的 MS-DOS 命令提示符。然后转到您的 MySQL bin 文件夹,例如 C:\MySQL\bin。如果使用 Wamp,路径会有所不同。

    3. 在命令提示符下执行以下命令:

      mysqld.exe -u root --skip-grant-tables
      
    4. 保持当前 MS-DOS 命令提示符不变,并打开一个新的 MS-DOS 命令提示符窗口。

    5. 再次转到您的 MySQL bin 文件夹。

    6. 输入“mysql”并回车。

    7. 您现在应该可以使用 MySQL 命令提示符。输入“使用 mysql;”以便我们切换到“mysql”数据库。

    8. 执行以下命令更新密码:

      UPDATE user SET Password = PASSWORD('your_new_passowrd') WHERE User ='root';
      

      不过,您现在几乎可以运行任何您希望的 SQL 命令。

    完成后关闭第一个命令提示符,然后键入“exit;”在第二个命令提示符中。

    您现在可以启动 MySQL 服务。就是这样。

    看看这个answer,从讨论中获得更多解释

    【讨论】:

    • 怎么不成功,你看过我的编辑吗
    • 嘿,我没有看到你的编辑。为此道歉。在保存配置文件 ** my.ini** 的第 2 步之后,它显示 1:- my-ini 已经存在。你想换掉它。当我单击是时。对话框显示拒绝访问。
    • 我已经更新了我的答案,这样您就不必处理文件而只需使用命令提示符。希望我能帮到你。
    • 嗨,Dougulas,感谢您的大力帮助。不幸的是,我的系统只能更改 root 密码。所以我按照以下步骤操作。卸载了完整的 MySQL 包。然后手动删除Program files--> MySQL + Program data__> MySQL (+), C:\Users\User\AppData\Roaming\MySQl。然后再次安装。现在它完全运行良好。再次感谢您的帮助。
    • 那太好了@Jyotiranjan,很高兴它对你有用。
    猜你喜欢
    • 1970-01-01
    • 2012-02-06
    • 2015-12-14
    • 2015-09-30
    • 2014-07-17
    • 2010-09-17
    • 1970-01-01
    • 2021-04-23
    相关资源
    最近更新 更多