1045 -Access denied for user ‘root‘@“localhost‘(using password: YES)但是密码没错

找到一个教程MySQL8.0.17 跳坑1045错误

照着教程执行mysqld --console --skip-grant-tables --shared-memory命令的时候,

出现以下错误:

2024-12-04T03:03:18.144403Z 0 [ERROR] [MY-013276] [Server] Failed to set datadir to 'D:\MySQL\MySQL Server 8.0\data\' (OS errno: 2 - No such file or directory)

查看my.ini文件发现:

my.ini中[mysqld] datadir=D:/MySQL/WorkSpace/Data

说明MySQL 仍然在尝试使用旧的数据目录路径 D:\MySQL\MySQL Server 8.0\data\,而不是新设置的路径 D:/MySQL/WorkSpace/Data。这可能是因为 MySQL 在启动时没有正确读取配置文件,或者配置文件的路径不正确。

解决方法:

C:\Windows\System32>mysqld --defaults-file=D:\MySQL\WorkSpace\my.ini

然后就可以成功连接了


第二天又没办法连接了
于是我又执行以下命令

发现还是没办法连接

然后按着昨天的步骤执行命令

net stop mysql

发现又连上了。

搜索发现:

MySQL本地系统和网络服务的主要区别在于服务范围对外连接的支持。本地系统主要用于本地应用操作数据库,而网络服务允许外部连接到数据库。

本地系统

本地系统的MySQL服务主要供本地应用程序使用。这意味着只有在同一台计算机上的应用程序才能访问和操作数据库。使用本地系统时,外部应用程序无法连接到数据库1

网络服务

网络服务的MySQL允许外部应用程序连接到数据库。这意味着你可以从不同的计算机或网络中的应用程序访问和操作数据库。网络服务通常用于需要远程访问数据库的场景,例如使用Navicat等图形化操作工具2

同时启动服务的冲突

尝试同时启动本地系统和网络服务时,可能会遇到冲突。例如,performance_schema表或库无法被外界访问。这是因为两个服务可能会尝试使用相同的端口(通常是3306),导致端口冲突3

解决方法

为了避免冲突,可以正确配置MySQL服务,确保外部应用程序能够正确连接到包含所需数据库的服务器实例。具体方法包括:

  • 确保只有一个服务在运行,避免端口冲突。

  • 配置MySQL服务,使其支持外部连接。

 于是把mysql改为手动

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值