【问题标题】:WAMP Mysql - [1045] access denied for userWAMP Mysql - [1045] 用户访问被拒绝
【发布时间】:2016-08-08 03:26:12
【问题描述】:

首先,我想说的是,我对使用客户端/服务器体系结构完全陌生,是使用命令行的初学者,并且以前从未修复过程序。我下载了适用于 Windows 7 64 位的 MySql 5.6 以及 MySql 工作台。
所以一开始一切都很好,登录,数据库工作,sql查询等。接下来我想做的是使用php从网页访问我的数据库。所以我安装了 Wampserver(其中包括 Apache、phpmyadmin,我猜是一个用于将 mysql 与 php 一起使用的 Api?),然后我根本无法进入我的服务器。

但是,这可能不是因为安装了 Wampserver,因为我没有在安装后检查它是否正常工作。我所做的是,在安装 Wampserver 后,我从 Mysqlworkbench 更改了我的 root 密码,以便获得可以使用的密码。所以,一定是我无法连接到服务器,因为(a)我从工作台更改了 root 登录密码,或者(b)我安装了 Wampserver。我已经为此搞砸了几个小时尝试不同的事情,我认为问题可能出在文件上。据我了解,如果您想登录服务器,它首先通过将您的信息与另一个文件进行比较来验证您的信息?我想我可能对我看到的 my.ini 文件有问题。

这通常是我尝试连接时发生的情况

      owner>mysql -u root -p
      Enter password: ********
      Error 1045 (28000): Access denied for user 'root'@'localhost' (using password:YES)

我将列出一些我已经尝试过的东西。一件事是我可能需要重置密码,但我已经尝试使用命令行使用

owner>mysql> 为 'root'@'localhost' 设置密码 = PASSWORD('pass123');刷新特权;

顺便说一句,我不确定您是否应该手动输入“>”,因为我必须在 mysql 之后输入“>”符号才能使更改密码语句生效。

我在开启 mysql 服务的情况下进行了尝试。然后我再次尝试关闭mysql服务,但仍然给出访问被拒绝的相同错误。

所以我在谷歌搜索后尝试了另一个建议。我关闭了 mysql 服务,进入 Workbench,单击我的根实例,然后它让我进入数据库。然后它告诉我尝试从那里启动服务器,所以我这样做了,它启动了,但随后提示我输入密码。来自工作台的消息日志是:

2016-04-15 18:20:46 - Workbench 将使用 cmd shell 命令启动/停止此实例
2016-04-15 18:20:50 - 启动服务器...

来自所有者-PC.err:
2016-04-15 18:20:52 51636 注意插件 'FEDERATED' 已禁用。 2016-04-15 18:20:52 c84c InnoDB:警告:不推荐使用 innodb_additional_mem_pool_size。此选项可能会在未来的版本中与选项 innodb_use_sys_malloc 和 InnoDB 的内部内存分配器一起删除。 2016-04-15 18:20:52 51636 注意 InnoDB:使用原子来引用计数缓冲池页面 2016-04-15 18:20:52 51636 注意 InnoDB:InnoDB 内存堆已禁用 2016-04-15 18:20:52 51636 注意 InnoDB:互斥锁和 rw_locks 使用 Windows 互锁函数 2016-04-15 18:20:52 51636 注意 InnoDB:未使用内存屏障 2016-04-15 18:20:52 51636 注意 InnoDB:压缩表使用 zlib 1.2.3 2016-04-15 18:20:52 51636 注意 InnoDB:不使用 CPU crc32 指令 2016-04-15 18:20:52 51636 注意 InnoDB:初始化缓冲池,大小 = 269.0M 2016-04-15 18:20:52 51636 注意 InnoDB:缓冲池初始化完成 2016-04-15 18:20:52 51636 注意 InnoDB:支持的最高文件格式是梭子鱼。 2016-04-15 18:20:52 51636 注意 InnoDB:128 个回滚段处于活动状态。 2016-04-15 18:20:52 51636 注意 InnoDB:等待清除开始 2016-04-15 18:20:52 51636 注意 InnoDB:5.6.28 开始;日志序列号 10175537 2016-04-15 18:20:52 51636 注意服务器主机名(绑定地址):'*';端口:3306 2016-04-15 18:20:52 51636 注意 IPv6 可用。 2016-04-15 18:20:52 51636 注意 - '::' 解析为 '::'; 2016-04-15 18:20:52 51636 注意在 IP 上创建的服务器套接字:'::'。 2016-04-15 18:20:52 51636 注意事件调度程序:加载 0 个事件 2016-04-15 18:20:52 51636 注意 C:\Program Files\MySQL\MySQL Server 5.6\bin\mysqld.exe:准备连接。 版本:'5.6.28-log' 套接字:'' 端口:3306 MySQL 社区服务器(GPL) 2016-04-15 18:21:14 - 服务器启动完成。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

我相信从工作台启动服务器的目的是让我能够访问用户和权限,但我说如果没有与服务器的连接,我就无法做到这一点。所以,我很茫然可能是一些简单的事情,也许我改变通行证的语法是错误的,也许是文件搞砸了,也许 wampserver 改变了一些东西。

值得注意的是 wampserver 文件 C:\wamp\bin\mysql\mysql5.6.17\bin 内部有很多与 C:\Program Files\MySQL\MySQL Server 5.6\bin 相同的 .exe 文件

【问题讨论】:

  • WAMP 自带内置的 MySQL,这就是你的问题。它是不同的软件,不同的数据库等。
  • 有没有办法禁用 Wamp 的 Mysql 以便我可以使用旧的 Mysql?不确定什么是最好的解决方法

标签: php mysql sql connection wamp


【解决方案1】:

所以我在谷歌上四处搜索,但没有什么我尝试过的。所以我去了 Youtube,在那里我找到了答案。我将在Youtube password video 此处发布链接,因为它比解释更容易,但我会给出一个简短的总结。它是通过命令行完成的,并制作了一个名为“mysql-init.txt”的 .txt 文件。所以我必须制作一个 .txt 文件,其中包含使用 mysql 和更新 mysql.user 表的命令,更新密码,然后刷新权限。然后不得不关闭mysql服务器服务。之后,我将“my.ini”文件移动到 mysql 服务器的文件夹中(对我来说是“MySQL Server 5.6”)。然后,使用命令提示符,进入 mysql 服务器目录。然后我这样做了:

C:\Program Files\MySQL\MySQL Server 5.6>bin\mysqld.exe --defaults-file="my.ini" --init-file="C:\\Users\\Johnny\\Desktop\\mysql-init.txt" --console

之后,我刚刚重启了mysql服务器服务,新密码就生效了。

我使用的是 Windows 7,它可能与其他操作系统不同。不过,关于视频,有几点需要注意。他使用的是不同版本的 Mysql,所以他的 mysql 服务器的服务名称只是 mysql,但对于安装了 mysql 5.6 的我来说,服务名称是 mysql56。此外,在视频中,他的服务器目录中有“my.ini”,但对我来说,它不存在。读取 cmets 后,“my.ini”文件位于隐藏文件夹中,因此我取消隐藏文件夹(非常简单)并找到“my.ini”并将其放在“MySQL Server 5.6”文件夹中。 此外,在视频中,他键入了一个非常偷偷摸摸的空间,如果他们不密切关注,将会给一些人带来问题。它是: --defaults-file="my.ini"SPACE--init-file="........." 另一件事,确保你在实际目录中,因为即使你有 mysqld .exe 在系统路径上,它对我不起作用,我必须在视频中的实际目录中。

【讨论】:

    猜你喜欢
    • 2014-09-22
    • 2013-12-06
    • 2011-01-27
    • 1970-01-01
    • 1970-01-01
    • 2013-09-30
    • 2010-10-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多