【问题标题】:Can't reset MySQL password on Mac无法在 Mac 上重置 MySQL 密码
【发布时间】:2018-02-19 22:03:01
【问题描述】:

(研究了两个小时如何在终端使用mysql命令,我终于可以发布这个问题了,顺便说一句,如果有macOS的人遇到无法在终端中使用mysql命令的问题,请直接进入这个直接到这个链接:solution。)

我有一个 Mac os Sierra,我对 MySQL 完全陌生。我首先下载了工作台和 MySql 服务器,它给了我一个临时密码,我创建了一个本地连接,它可以工作。然后,我删除了旧连接,并创建了另一个连接,它要求输入密码,但它不起作用,所以现在我正在尝试重置和更改我的 mysql 密码,但我一直有很多麻烦了。

由于 SQL office 网站只有 windows 和 unix 的说明,而且我对 bash 还比较陌生,所以我试图在其他地方找到解决方案,例如这个网站。

1。尝试

当我尝试通过此链接site1 的解决方案时,当我尝试第一步时,它要求输入我没有的密码,我尝试使用旧密码只是为了尝试,但它不起作用。

YupengdeMacBook-Pro:~ yinyupeng$ sudo /usr/local/mysql/support-files/mysql.server stop
Password:

然后,我意识到我可以在MacOS设置中直接关闭我的服务器,我这样做了,我直接跳到第二步,它仍然要求输入密码:

YupengdeMacBook-Pro:~ yinyupeng$ sudo mysqld_safe --skip-grant-tables
Password:

所以我被困在这里,无法进一步使用此解决方案。

2。尝试

然后我尝试了这个site2,但是当我输入第一行时,它告诉我:

YupengdeMacBook-Pro:~ yinyupeng$ mysql -u root
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

嗯...好的,然后我尝试为“访问被拒绝”错误找到解决方案,但收效甚微。

所以我现在不知道该怎么办,请帮忙,非常感谢。 顺便说一句,我的 SQL 版本是:

YupengdeMacBook-Pro:~ yinyupeng$ mysql --version
mysql  Ver 14.14 Distrib 5.7.19, for macos10.12 (x86_64) using  EditLine wrapper
YupengdeMacBook-Pro:~ yinyupeng$ 

【问题讨论】:

  • 当你尝试启动 mysqld_safe 时它要求的密码是你的密码,你能再试一次吗?
  • @Ulises André Fierro 你是说我的 Mac 密码吗?
  • 是的,无论您使用什么密码登录都是它要求的密码。
  • 谢谢,我现在有课,我试试看,尽快回复你。
  • @Ulises André Fierro 你好!我试过了,它奏效了!非常感谢您指出这是我需要输入的 Mac 密码。但是,我确实有一个问题我会在下面问

标签: mysql bash macos terminal


【解决方案1】:

您可以尝试通过在安全模式下运行 MySQL 来重置 root 密码。

步骤如下:

  1. 停止 MySQL:

    sudo /usr/local/mysql/support-files/mysql.server stop

  2. 在安全模式下启动它:

    sudo mysqld_safe --skip-grant-tables

这将是一个持续的命令,直到进程完成,所以打开另一个 shell/终端窗口,然后..

  1. 以root身份登录,无需密码:

    mysql -u root

  2. 更新根(和任何其他用户)密码)

    FLUSH PRIVILEGES; ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass'; \q

  3. 以正常模式重启 MySQL

    sudo /usr/local/mysql/support-files/mysql.server start

参考:https://coolestguidesontheplanet.com/how-to-change-the-mysql-root-password/

注意:这几乎是参考链接的复制粘贴。这是非常标准的重置过程,但与 mysql 参考文档相比,该指南中的记录更好。

【讨论】:

    【解决方案2】:

    您可以编辑您的mysql配置文件并将skip-grant-tables添加到[mysqld]部分

    启动mysqld并将其发送到后台

    mysqld_safe --skip-grant-tables &
    

    【讨论】:

    • 抱歉,我是初学者,不知道这是什么意思。
    •  您可以编辑您的 MySQL 配置文件并将 skip-grant-tables 添加到 [mysqld] 部分:或 --- sudo /usr/local/mysql/support-files/mysql。服务器停止\n sudo mysqld_safe --skip-grant-tables\n mysql -u root 
    猜你喜欢
    • 1970-01-01
    • 2016-03-01
    • 1970-01-01
    • 2016-10-13
    • 1970-01-01
    • 1970-01-01
    • 2018-03-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多