gpt4 book ai didi

mysql - Yosemite更新后无法登录MySQL

转载 作者:行者123 更新时间:2023-11-29 23:29:11 25 4
gpt4 key购买 nike

首先我要说的是,我已经浏览了大量关于重置 mysql 密码的帖子(hereelsewere 上的 internet ),但似乎没有什么对我有用。哦,我对命令行工作也相当陌生。

上周我将 osx 更新到 Yosemite,今天当我尝试更新 Apache 设置时,我发现我无法再连接到 MySQL。在更新之前,一切都工作正常(MySQL 有一个密码,我知道并且可以使用),所以我不知道发生了什么。奇怪的是,我也将另一台(较旧的)笔记本电脑更新到 Yosemite,并且 MySQL 现在在该笔记本电脑上运行良好。

当我打开 phpmyadmin 时,我无法登录。保存的密码(更新之前的密码,适用于 Mavericks)似乎不再有效。

下面是我在命令行上尝试的内容(无论是否首先启动/停止MySQL(在安全模式下)):


mysql root
#Gives me: ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'root'

mysql -u root
#Gives me: ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

mysql -u root -p
#Gives me: ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

我可以使用 mysql 命令,这让我很满意


Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.6.21 MySQL Community Server (GPL)

Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.

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>

尝试在此处更新密码会得到以下结果


mysql> UPDATE mysql.user SET Password=PASSWORD('password') WHERE User='root';
ERROR 1142 (42000): UPDATE command denied to user ''@'localhost' for table 'user'
mysql>

我真的希望有人知道可能是什么问题,因为我别无选择

我用了this article作为更新 Apache 设置的引用

编辑:塔塔评论后的附加信息

该评论给了我-bash:/etc/init.d/mysqld:没有这样的文件或目录

另外sudo mysqld_safe --skip-grant-tables给了我:

141102 18:11:26 mysqld_safe Logging to '/usr/local/mysql/data/Maurices-MacBook-Pro.local.err'.
141102 18:11:26 mysqld_safe A mysqld process already exists

在那之后,我仍然什么也做不了。

不幸的是,我不知道在哪里可以找到 mysql 初始化脚本以及要修改什么。

解决方案

我通过 serverfault 找到了解决方案。我忘记了我添加了一个 com.mysql.mysql.plist 文件,该文件是在启动时通过 launchctl 加载的,以便在启动时自动启动 MySQL。首先执行 sudo launchctl unload -w/Library/LaunchDaemons/com.mysql.mysql.plist 停止 MySQL 并让我以安全模式登录。

最佳答案

为了使其正常工作,您需要使用 --skip-grant-tables 参数启动 mysql 服务器。

 /etc/init.d/mysqld restart --skip-grant-tables 

查看此链接以获取更多信息

B.5.4.1 How to Reset the Root Password

也有可能您的 init 脚本没有将附加参数传输到 mysqld_safe 进程。您应该在进程列表中检查它。

关于mysql - Yosemite更新后无法登录MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26697724/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com