如何在 MacOS 上重置 MySQL 或 MariaDB(使用 brew 安装)?

Posted

技术标签:

【中文标题】如何在 MacOS 上重置 MySQL 或 MariaDB(使用 brew 安装)?【英文标题】:How to reset MySQL or MariaDB on MacOS (installed with brew)? 【发布时间】:2020-11-16 07:52:58 【问题描述】:

我运行 brew install mysqlbrew install mariadb 然后 mysql_install_dbmysql_secure_installation 但由于我不知道 mysql 密码,所以我不断收到 Access denied for user 'root'@'localhost' 错误。它说它创建了没有密码的 root@localhost 用户,但我必须是 root 系统用户。它还说它创建了另一个没有密码的用户,但我也无法连接到该用户。

我已经尝试了这两种解决方案,但没有任何效果:

brew install mysql on macOS Reset MySQL / MariaDB password on OSX

连同其他几个教程,但它总是回到需要知道当前密码的问题,我被卡住了。有没有其他人在使用 brew 的 macos 上安装 mysql 或 mariadb 时运气好?

编辑:我卸载并重新安装,即使在删除 /usr/local/var/mysql 后,当我运行 mysql_install_db 时,它说 mysql.user 已经存在,因此无法安装。卸载时如何删除所有数据库?

编辑 2:所以我想我终于设法更改了密码,但是在尝试执行 mysql_secure_installation 时我不断收到此错误消息: 输入 root 的当前密码(输入为无): /usr/local/bin/mysql_secure_installation:第 249 行:.my.cnf.29733:权限被拒绝 /usr/local/bin/mysql_secure_installation:第 250 行:.my.cnf.29733:权限被拒绝 /usr/local/bin/mysql_secure_installation:第 251 行:.my.cnf.29733:权限被拒绝 /usr/local/bin/mysql_secure_installation:第 253 行:.my.cnf.29733:权限被拒绝 /usr/local/bin/mysql_secure_installation:第 218 行:.mysql.29733:权限被拒绝 /usr/local/bin/mysql_secure_installation: line 220: .mysql.29733: No such file or directory

【问题讨论】:

【参考方案1】:

我终于让它工作了,并决定为了后代我应该更新我的问题。通过 brew 卸载和重新安装 mysql 或 mariadb 不会删除数据。所以我找到了一个可能的 mysql 文件列表,并通过列表删除了 mysql 和 mariadb 文件。

除了我没有做 #4 或 #5 之外,我大部分时间都遵循这个答案:brew install mysql on macOS

mysql_install_db 的结果是 2 个新用户帐户。由于我不在我的计算机上使用 root 用户,因此我为我的用户使用没有密码的用户帐户,所以我做了一个mysql -u dillanjwilding,然后为我的用户做一个 mysql 密码重置。退出并mysql -u dillanjwilding -p 输入我的密码并运行。我什至可以通过 Sequel Pro 连接。所以现在一切似乎都在按预期工作,至少现在是这样。

【讨论】:

【参考方案2】:

据我了解,安装后的root账户是这样访问的

mysql.server start
sudo mysql -u root

然后您使用您的机器的 sudo 密码来执行此操作。 那么 mariadb 的密码是空的所以它不会询问,或者如果它询问 mariadb 密码就直接回车。

然后您可以为此管理员帐户添加新用户,并且可以正常访问这些用户(无需 sudo)

【讨论】:

以上是关于如何在 MacOS 上重置 MySQL 或 MariaDB(使用 brew 安装)?的主要内容,如果未能解决你的问题,请参考以下文章

macos怎样改变mysql密码

如何在 mac os 10.13.3 中重置我的 mysql 密码

MySQL:如何重置或更改 MySQL root 密码?

Mac OS 10.6 服务器上的 $PATH 变量不断重置

如何在Linux中重置MySQL或MariaDB root密码

如何在 macos 中刷新或清除 *** (L2TP) 设置