WAMP Mysql - [1045]拒绝用户访问

时间:2016-04-16 01:47:58

标签: php mysql sql connection wamp

首先,我想说我对使用客户端/服务器架构完全不熟悉,初学者使用命令行,以前从未修复过程序。我下载了MySql 5.6 for Windows 7 64位以及MySql工作台      所以一切都工作正常,首先登录,数据库工作,SQL查询等。接下来我想做的是使用php从网页访问我的数据库。所以我安装了Wampserver(其中包括Apache,phpmyadmin,我猜一个Api使用mysql和php?)然后我根本无法进入我的服务器。

但是,它可能不是因为安装了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)

我列出了我已经尝试过的一些事情。有一件事是我可能需要重置密码,但我已经尝试使用

使用命令行

所有者GT; MySQL的>设置密码' root' @' localhost' =密码(' pass123'); FLUSH PRIVILEGES;

是的,我不确定你是否应该输入'>'手动,因为我必须键入'>'在mysql之后签署该更改密码语句。

我尝试启用mysql服务。然后我再次尝试关闭mysql服务,但仍然提供相同的错误,访问被拒绝。

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

  

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

     

来自OWNER-PC.err:
      2016-04-15 18:20:52 51636 Note Plugin' FEDERATED'被禁用。             2016-04-15 18:20:52 c84c InnoDB:警告:使用innodb_additional_mem_pool_size是DEPRECATED。在将来的版本中可以删除此选项,以及选项innodb_use_sys_malloc和InnoDB的内部内存分配器。       2016-04-15 18:20:52 51636注意InnoDB:使用atomics来引用缓冲池页面       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:最高支持的文件格式是Barracuda。       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注意服务器主机名(绑定地址):' *&#39 ;;港口:3306       2016-04-15 18:20:52 51636注意IPv6可用。       2016-04-15 18:20:52 51636注 - ' ::'解析为' ::&#39 ;;       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文件

1 个答案:

答案 0 :(得分:0)

所以我在谷歌上搜索,但没有尝试过。所以我继续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"在他的服务器的目录中,但对我来说,它不存在。阅读完评论后," my.ini"文件位于隐藏文件夹中,因此我取消了文件夹(非常简单)并找到了" my.ini"并将其放在" MySQL Server 5.6"夹。 此外,在视频中他输入了一个非常偷偷摸摸的空间,如果他们没有密切关注,会导致一些人的问题。它是: - default_file =" my.ini" SPACE - init-file =" ........."另一件事,确保你在实际目录中,因为即使你在系统路径上有mysqld.exe,它也没有与我合作,我必须在视频中的实际目录中。