gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-29 21:07:48 25 4
gpt4 key购买 nike

首先,我想说我对客户端/服务器架构的工作完全陌生,是使用命令行的初学者,并且以前从未修复过程序。我下载了适用于 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 will use cmd shell commands to start/stop this instance
2016-04-15 18:20:50 - Starting server...

FROM OWNER-PC.err:
2016-04-15 18:20:52 51636 Note Plugin 'FEDERATED' is disabled. 2016-04-15 18:20:52 c84c InnoDB: Warning: Using innodb_additional_mem_pool_size is DEPRECATED. This option may be removed in future releases, together with the option innodb_use_sys_malloc and with the InnoDB's internal memory allocator. 2016-04-15 18:20:52 51636 Note InnoDB: Using atomics to ref count buffer pool pages 2016-04-15 18:20:52 51636 Note InnoDB: The InnoDB memory heap is disabled 2016-04-15 18:20:52 51636 Note InnoDB: Mutexes and rw_locks use Windows interlocked functions 2016-04-15 18:20:52 51636 Note InnoDB: Memory barrier is not used 2016-04-15 18:20:52 51636 Note InnoDB: Compressed tables use zlib 1.2.3 2016-04-15 18:20:52 51636 Note InnoDB: Not using CPU crc32 instructions 2016-04-15 18:20:52 51636 Note InnoDB: Initializing buffer pool, size = 269.0M 2016-04-15 18:20:52 51636 Note InnoDB: Completed initialization of buffer pool 2016-04-15 18:20:52 51636 Note InnoDB: Highest supported file format is Barracuda. 2016-04-15 18:20:52 51636 Note InnoDB: 128 rollback segment(s) are active. 2016-04-15 18:20:52 51636 Note InnoDB: Waiting for purge to start 2016-04-15 18:20:52 51636 Note InnoDB: 5.6.28 started; log sequence number 10175537 2016-04-15 18:20:52 51636 Note Server hostname (bind-address): '*'; port: 3306 2016-04-15 18:20:52 51636 Note IPv6 is available. 2016-04-15 18:20:52 51636 Note - '::' resolves to '::'; 2016-04-15 18:20:52 51636 Note Server socket created on IP: '::'. 2016-04-15 18:20:52 51636 Note Event Scheduler: Loaded 0 events 2016-04-15 18:20:52 51636 Note C:\Program Files\MySQL\MySQL Server 5.6\bin\mysqld.exe: ready for connections. Version: '5.6.28-log' socket: '' port: 3306 MySQL Community Server (GPL) 2016-04-15 18:21:14 - Server start done. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

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

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

最佳答案

所以我在谷歌上搜索,但我尝试过的都没有效果。所以我上了 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”文件夹中。此外,在视频中,他输入了一个非常偷偷摸摸的空格,如果不密切注意,就会给一些人带来问题。它是: --defaults-file="my.ini"SPACE--init-file="........."另外,请确保您位于实际目录中,因为即使您有 mysqld .exe 在系统路径上,它对我不起作用,我必须位于视频中的实际目录中。

关于php - WAMP Mysql - [1045] 用户访问被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36659287/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com