【问题标题】:MySQL password issues (mac OS X Lion) [closed]MySQL密码问题(mac OS X Lion)[关闭]
【发布时间】:2018-12-17 09:33:58
【问题描述】:

我正在尝试在 Mac OS X Lion 的终端中设置 MySQL 的 root 密码,但我遇到了问题。每次我使用这条线:

/usr/local/mysql/bin/mysqladmin -u root password ******  (where ****** is the password I want to set)

我收到错误:

/usr/local/mysql/bin/mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost' (using password: NO)'

我之前没有设置密码,所以我不知道为什么会收到这个错误。

【问题讨论】:

  • 您是第一次更改旧密码还是创建密码?

标签: mysql osx-lion


【解决方案1】:

这里是重置root用户密码的过程。

1) 停止mysql(杀死mysql进程或运行以下命令)

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

2) 以安全模式启动

sudo mysqld_safe --skip-grant-tables

3) 打开另一个终端并运行以下命令(保持最后一个终端打开)

mysql -u root

4) 在 mysql 控制台上使用合适的新密码运行以下命令

对于 MySQL 5.7+:

mysql > UPDATE mysql.user SET authentication_string=PASSWORD('password') WHERE User='root';

对于早期版本:

mysql > UPDATE mysql.user SET Password=PASSWORD('password') WHERE User='root';

5)mysql > FLUSH PRIVILEGES;

6) 从两个终端退出并打开新终端并使用root用户和新密码连接到mysql

mysql -uroot -p

【讨论】:

  • 谢谢,它解决了我的问题:)
  • 我在输入 1) 后收到此错误:“错误!找不到 MySQL 服务器 PID 文件!”
  • 仅供参考:在较新的 mysql 版本上,password 字段已重命名为 authentication_string
  • @minhas2 您的解决方案是经过 2 小时的挫折后唯一有效的解决方案。谢谢:)
  • 获取错误未知列密码
【解决方案2】:

输入:/usr/local/mysql/bin/mysqladmin -u root -p password

当它要求输入密码时,不输入任何内容,只需按 Enter。 然后它会要求您输入新密码,然后确认。 完成了。

【讨论】:

  • 像魅力一样工作(Mac OS X Lion)
  • 不适合我。仍然:在 'localhost' 连接到服务器失败错误:'Access denied for user 'root'@'localhost' (using password: NO)'
  • 为我工作。非常感谢。
【解决方案3】:

第一次创建密码

mysqladmin -u root password NEWPASSWORD

更新旧密码使用

mysqladmin -u root -p'oldpassword' password newpass

来源 = http://www.cyberciti.biz/faq/mysql-change-root-password/

【讨论】:

  • 真的吗?在我刚刚输入的内容之后?你给同样的答案?它不工作!我想第一次创建密码。我得到的最大进步是我输入了: /usr/local/mysql/bin/mysqladmin -u root -p 密码,然后提示我输入密码:....但是,它不允许我输入(输入密码行的终端中没有显示类型)。然后,当我尝试键入它并按 Enter 时,现在给我一个错误:连接到“localhost”的服务器失败错误:“用户'root'@'localhost'的访问被拒绝(使用密码:YES)'
  • 您似乎已经创建了密码,mysql 要求您使用该密码登录。我假设您不记得密码,因为您错误地创建了密码。您需要重置此密码。访问此链接以了解如何重置 mysql dev.mysql.com/doc/refman/5.0/en/resetting-permissions.html的密码
  • 按照 'Unix' 说明,我在我的系统上找不到 .pid 文件。我在这里错过了什么吗?
  • 我找到了该文件,但是当我输入:shell> kill `cat /mysql-data-directory/(my host_name).pid ...进入终端时,我收到以下错误:
  • cat: /mysql-data-directory/(my host_name).pid: 没有这样的文件或目录 -bash: shell: command not found
【解决方案4】:

我在 Yosemite 上,但在 Maverick 上也有同样的问题。 - 如果你还没有完成,请先修复 2002 套接字错误

sudo mkdir /var/mysql
sudo ln -s /tmp/mysql.sock /var/mysql/mysql.sock

然后试试

sudo /usr/local/mysql/bin/mysqladmin -u root -p password

【讨论】:

  • 感谢您的回答!你无法想象这对我有多大帮助。我在一个答案中找到了两种解决方案。
【解决方案5】:

这不是您设置密码的方式。这就是你登录mysql的方式。

如果您没有设置密码,请使用以下方式登录:

mysql -u root

这将使您进入 MySQL 命令行。

不要这样做,只需使用以下更改密码。

mysqladmin -u root password NEWPASSWORD

【讨论】:

  • 当我在终端中输入 mysqladmin -u root 密码 NEWPASSWORD 时,我收到以下行:-bash: mysqladmin command not found
  • 你刚刚输入的内容,Kayak,正是我在问题中输入的内容,我继续收到错误,它不会让我使用该命令设置密码
  • 当我使用 mysqladmin -u root -p'oldpassword' password newpass 时,我收到相同的错误消息,但是现在显示“使用密码:YES”
【解决方案6】:
cd /usr/local/mysql/bin

./mysqladmin -u root password root

【讨论】:

    【解决方案7】:

    安装后设置root密码:

    1. 确保 MySQL 没有运行,如果您运行了,请停止它。
    2. 在终端上执行 sudo mysqld_safe --skip-grant-tables 以绕过身份验证运行 MySQL。
    3. 在mysql里面做FLUSH PRIVILEGES;
    4. 然后由SET PASSWORD FOR root@'localhost' = PASSWORD('password'); 重置,其中“密码”是您选择的密码。
    5. FLUSH PRIVILEGES;再来一次

    【讨论】:

      【解决方案8】:

      这为我解决了这个问题: 之后会要求您输入超级用户密码,然后再输入新密码。

      sudo /usr/local/mysql/bin/mysqladmin -u root -p 密码

      【讨论】:

      • 执行此操作后我再次收到错误。
      【解决方案9】:

      您要重置或设置新的 root 密码吗?

      MySQL 5.7.5 及更早版本的步骤:

      打开终端窗口:

      1. 如果 mysql 服务器正在运行,请停止它:

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

      2. 使用--skip-grant-tables 选项重新启动它:

        sudo mysqld_safe --skip-grant-tables

      打开另一个终端窗口:

      1. 类型: mysql -u root

      2. 重置root密码(即本地主机)

        UPDATE mysql.user SET authentication_string = PASSWORD(‘MyNewPass’), password_expired = 'N' WHERE User = 'root' AND Host = 'localhost'; FLUSH PRIVILEGES;

      现在您的 root@localhost 密码是 MyNewPass。你可以改变它:

      1. 关闭所有终端窗口。打开一个新的终端窗口并输入:

        mysqladmin -u root -p'MyNewPass' password '123456'

        现在你的root密码是123456

        您应该会看到以下警告消息,如果您正在更改您的 root@localhost 密码,您可以忽略它:

        mysqladmin: [警告] 在命令行界面使用密码 可能不安全。警告:由于密码将发送到服务器 纯文本,使用ssl连接保证密码安全。

      2. 检查你的root密码是否修改成功:

        mysql -u root -p'123456' -e 'show databases;'

        输出:

        mysql: [警告] 在命令行界面使用密码即可 不安全。

        +--------------------+
        |数据库 |
        +--------------------+
        |信息架构 |
        | mysql |
        |性能模式 |
        |系统 |
        +--------------------+

      【讨论】:

        【解决方案10】:

        这适用于 macOS Sierra

        第一步:打开终端

        第 2 步:粘贴以下命令

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

        你的终端应该显示这个:

             Users-MacBook-Air:~ usr$ sudo /usr/local/mysql/support-files/mysql.server restart
        

        密码: 错误!找不到 MySQL 服务器 PID 文件!

        启动 MySQL .. 成功!

        第 3 步:确保 SQL Server 正在运行

        第四步:打开MYSQL工作并点击本地实例

        第五步:输入旧密码和新密码

        【讨论】:

          【解决方案11】:

          您将丢失所有数据库

          第一步:打开终端

          第二步:删除文件夹mysql sudo rm -rf /usr/local/mysql

          第三步:再次安装mysql,安装后生成新密码

          【讨论】:

            【解决方案12】:

            第 1 步:

            mysql -u root -p   
            

            它会问 输入密码:

            欢迎使用 MySQL 监视器。

            您可以检查默认数据库

            mysql> show databases;
            mysql> show tables;
            

            【讨论】:

            • 这不是问题的正确答案。问题不在于如何登录您提供命令mysql -u root -p 的mysql,而是如何使用mysqladmin 更改用户密码
            猜你喜欢
            • 2011-11-26
            • 1970-01-01
            • 2012-04-05
            • 2012-02-03
            • 2013-03-29
            • 2011-12-17
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多