【问题标题】:Can't find my.cnf configuration file for mySQL to allow remote access on mac Big Sur找不到 mySQL 的 my.cnf 配置文件以允许在 mac Big Sur 上进行远程访问
【发布时间】:2021-06-24 04:51:46
【问题描述】:

我正在尝试允许远程访问我为某人创建的 MySQL Workbench 数据库以使其具有完全访问权限。我创建了用户并授予他们完全访问权限,但是,当我尝试从另一台笔记本电脑以该用户身份登录时,它显示访问被拒绝(是的,我检查了密码是否正确)。然后我在 Google 上看到您需要从 MySQL 调整 my.cnf 文件中的 binding_address,但我似乎无法找到它的位置(如果它甚至存在)。我在这里看到了其他关于此的帖子并尝试了所有解决方案,但仍然没有运气。

如果有人对如何访问或创建 my.cnf 以允许远程访问 mac Big Sur 上的 MySQL 数据库有任何建议,那就太好了。

到目前为止,root 用户的主机是“localhost”(不确定我是否应该更改它)。上次我将其更改为我的 IP 地址时,由于某种原因我被锁定在数据库之外,不得不重新启动所有内容并重新构建整个数据库。下面是我用来创建我试图访问数据库的用户的语法:

* 类似于我的 IP 地址的其余部分。

CREATE USER 'user'@'67.81.**.*' IDENTIFIED BY 'password3!';
GRANT ALL PRIVILEGES ON fsk TO 'user'@'67.81.**.*' WITH GRANT OPTION;
FLUSH PRIVILEGES;

创建用户后,我进入“MySQL Workbench 中的用户和权限”并手动选中所有框以授予用户完全访问权限。然后,当我尝试从另一台笔记本电脑登录数据库时,我得到以下错误:

“在 67.81.**.*:3306 与用户用户连接失败。无法连接到本地主机”

【问题讨论】:

  • 是根本无法访问MySQL服务器的问题,就像无法建立连接一样,还是可以访问MySQL服务器但从MySQL服务器收到错误消息的问题?跨度>
  • 好吧,问题是当我在我的笔记本电脑(数据库所在的位置)上创建该用户后尝试从不同的笔记本电脑和用户登录时,它显示“用户”的访问被拒绝@'本地主机'。当我尝试重新创建用户以使用我的 IP 地址而不是“localhost”时,同样的问题仍然存在。
  • 当您可以访问 MySQL 服务器并且它响应“访问被拒绝”错误消息时,问题与任何配置文件无关。相反,登录只是无效的。请edit您的问题包括您用于向 MySQL 数据库添加新用途的语句,详细说明您如何尝试从不同的主机访问 MySQL 服务器并写下您收到的确切错误消息。当您尝试从其他主机登录时,错误消息不应采用 'user'@'localhost' 的形式,因为它不能是“localhost”。
  • 好的,我在创建用户并从笔记本电脑以用户身份登录的过程中编辑了问题。有趣的是,现在我没有拒绝访问,而是我无法连接到本地主机。
  • 请查看stackoverflow.com/questions/2482234/…dev.mysql.com/doc/refman/8.0/en/option-files.html 了解在何处查找配置文件。然后edit你的问题添加MySQL服务器配置文件的内容。看起来这毕竟是一个连接问题,而不是权限或用户身份验证的问题。

标签: mysql mysql-workbench


【解决方案1】:

要找出my.cnf 的位置,请尝试:

mysql --help | more 

您会看到靠近顶部的某个地方(可能有不同的路径?):

Default options are read from the following files in the given order:
/usr/local/etc/my.cnf ~/.my.cnf

或者,在 Mysql Workbench 中,在“管理”、“服务器状态”页面上。

【讨论】:

  • 您好 Luuk,感谢您的建议。我在终端尝试了第一个选项,得到了三个不同的 my.cnf 路径。但是,当运行 ls(my.cnf 的路径)时,没有找到任何目录 - 让我相信它们不存在。同样,我在服务器状态页面上也没有找到关于 my.cnf 的任何信息。
  • 确实存在的第一个就是您需要的那个。如果没有找到现有的,您可以使用该列表中的值来创建一个新的my.cnf
【解决方案2】:

首先检查是工作台还是连接问题。

  1. 在您的窗口中运行“cmd”打开终端

两个都试试

2a) mysql -u user -p -h 67.81.**.* -P 3306

2b)mysql -u user -p -h > localhost -P 3306

  1. 如果连接良好,您将收到密码提示,看看您是否可以使用正确的密码连接。

如果您的连接被拒绝,只需授予权限

mysql >GRANT ALL ON [DatabaseName].* TO 'user'@'67.81.**.*' IDENTIFIED BY '[PASSWORD]';

如果你的连接在这里被接受,这就像是工作台配置问题。

【讨论】:

    猜你喜欢
    • 2021-04-24
    • 2021-06-24
    • 2022-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-10
    • 2021-06-05
    • 2022-09-28
    相关资源
    最近更新 更多