gpt4 book ai didi

mysql - 用户 'root' 的访问被拒绝 @'localhost' - root 帐户每次重新启动后都需要重置 PW (Windows 7 SP1)

转载 作者:行者123 更新时间:2023-11-29 23:39:39 26 4
gpt4 key购买 nike

重置root密码后可以毫无问题地连接mysql数据库:

C:\\> C:\mysql\bin\mysqld-nt --init-file=C:\\\\mysql-init.txt

其中 mysql-init.txt 包含:

更新 mysql.user SET 密码=PASSWORD('MyNewPass') WHERE User='root';
同花顺特权;

但是,每次重新启动 Windows 时,当我尝试连接到数据库时都会收到此错误消息:

C:\\>mysql -u root -p
输入密码: ********
错误 1045 (28000):用户“root”@“localhost”访问被拒绝(使用密码:YES)

我也尝试过没有密码,同样的失败。

每次重新启动时重置 root 密码似乎不是一个好习惯。这是一个已知问题且已修复吗?

最佳答案

正确的做法是,如下。

以管理员身份登录到您的系统。

如果 MySQL 服务器正在运行,请停止它。对于作为 Windows 服务运行的服务器,请转到服务管理器:从“开始”菜单中,选择“控制面板”,然后选择“管理工具”,然后选择“服务”。在列表中找到MySQL服务并将其停止。

如果您的服务器没有作为服务运行,您可能需要使用任务管理器强制其停止。

创建一个包含以下语句的文本文件。将密码替换为您要使用的密码。

更新 mysql.user SET 密码=PASSWORD('MyNewPass') WHERE User='root';
同花顺特权;
将 UPDATE 和 FLUSH 语句分别写在一行上。 UPDATE 语句重置所有 root 帐户的密码,FLUSH 语句告诉服务器将授权表重新加载到内存中,以便它注意到密码更改。

保存文件。对于本示例,该文件将命名为 C:\mysql-init.txt

打开控制台窗口以进入命令提示符:从“开始”菜单中选择“运行”,然后输入 cmd 作为要运行的命令。

使用特殊的--init-file选项启动MySQL服务器(请注意选项值中的反斜杠是双倍的):

C:\> C:\mysql\bin\mysqld-nt --init-file=C:\\mysql-init.txt如果您将 MySQL 安装到 C:\mysql 以外的位置,请相应地调整命令。

服务器在启动时执行由--init-file选项命名的文件内容,更改每个root帐户密码。

如果您希望服务器输出显示在控制台窗口而不是日志文件中,您还可以在命令中添加 --console 选项。

如果您使用 MySQL 安装向导安装 MySQL,则可能需要指定 --defaults-file 选项:

C:\>“C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqld-nt.exe”
--defaults-file="C:\\Program Files\\MySQL\\MySQL Server 5.0\\my.ini"
--init-file=C:\\mysql-init.txt
可以使用服务管理器找到适当的 --defaults-file 设置:从“开始”菜单中,选择“控制面板”,然后选择“管理工具”,然后选择“服务”。在列表中找到 MySQL 服务,右键单击它,然后选择“属性”选项。可执行文件路径字段包含 --defaults-file 设置。

服务器成功启动后,删除C:\mysql-init.txt

关于mysql - 用户 'root' 的访问被拒绝 @'localhost' - root 帐户每次重新启动后都需要重置 PW (Windows 7 SP1),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26222215/

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