【问题标题】:access denied for user root, mysql database用户root,mysql数据库的访问被拒绝
【发布时间】:2010-03-15 03:46:41
【问题描述】:

当我使用 sequel pro 连接到远程数据库时,服务器显示拒绝访问。我 100% 确定用户名和密码是正确的。我也尝试使用 phpmyadmin 连接到服务器,它可以工作。不知道我在使用sequel pro连接服务器时发生了什么。

【问题讨论】:

  • 好的,我解决了问题,1.在mysql.user中添加一行root权限,并让主机成为我的ip地址
  • 2.刷新权限(但是在这一步中,我得到一个“mysql.servers table not found”错误。快速谷歌搜索后,这是由于缺少服务器表。)
  • 3.运行以下sql语句即可解决问题。创建表servers (Server_name char(64) NOT NULL DEFAULT '', Host char(64) NOT NULL DEFAULT '', Db char(64) NOT NULL DEFAULT '', Username char( 64) NOT NULL DEFAULT '', Password char(64) NOT NULL DEFAULT '', Port int(4) NOT NULL DEFAULT '0', Socket char(64) NOT NULL DEFAULT '', @987654329 @ char(64) NOT NULL DEFAULT '', Owner char(64) NOT NULL DEFAULT '', PRIMARY KEY (Server_name) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='MySQL Foreign Servers table'
  • 4.运行“刷新特权;”再次 5. 完成

标签: mysql sql mysql-error-1045


【解决方案1】:

mysql 身份验证不仅取决于登录名+密码,还取决于主机。 使用登录“root”和您想要和必要的任何密码(或任何“%”)主机创建另一个用户

【讨论】:

  • 您好,zerkms,非常感谢您的帮助,但是sequel pro 仅在我今天早上重新启动服务器后才显示错误。这曾经工作正常。
【解决方案2】:

您的 MySQL 服务器可能只允许在 localhost 上进行 root 登录,我认为这是默认设置。

由于 phpMyAdmin 正在通过 SQL 服务器上运行的网络服务器反弹连接,因此根连接似乎来自 localhost 并被接受。

【讨论】:

  • 非常感谢。这对我理解当前问题有很大帮助。但是sequel pro曾经在我的笔记本电脑上工作,这个问题是在我重新启动服务器后发生的。更奇怪的是,即使我重新启动了服务器,我的队友仍然可以访问 mysql 服务器。有什么帮助吗?
  • 服务器在哪台计算机上运行?
  • 这是一个运行mac os x的内部服务器。
【解决方案3】:

我遇到了同样的问题,而且服务器表已经在那里了。原来sequel pro需要指定socket url。

于是在mysql中登录终端:

mysql -u root

然后输入\s获取mysql状态

找到您的 UNIX 套接字路径,将其复制并粘贴到 Sequel Pro 中的“套接字”字段。

这对我有用。

【讨论】:

  • * 当然是在终端登录mysql,而不是反过来;)
猜你喜欢
  • 2015-12-26
  • 2013-08-22
  • 1970-01-01
  • 2013-11-25
  • 1970-01-01
  • 2011-11-24
  • 2021-06-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多