mysql数据库报1-Can't create/write to file 'C:\WINDOWS\TEMP\#sql_1588_0.MYI'(Errcode:17)的错误。

这个MySQL错误“无法创建/写入文件'C:WINDOWSTEMPsql_1 5 8 8 _0.MYI'”真是令人头痛。

当时我很困惑,但这件事发生得很突然。
我查了资料,说是权限问题。

如您所见,MySQL 服务想要将临时文件写入“C:WINDOWSTEMP”目录。

比如我2 02 2 年在上海调试一个项目时就遇到了这个问题,当时在Windows系统上设置权限有点复杂。
后来我意识到,要向临时目录添加写权限,我需要向 MySQL 服务授予其运行的帐户。

打开操作系统的权限管理工具,找到MySQL服务,并为其授予权限。
就是这么简单。

另外,MySQL本身设置的临时文件夹路径可能不正确。
打开配置文件(例如“my.ini”)并找到“tmpdir”设置。

之前的项目中,将tmpdir设置为系统保护目录,但是出现了问题。
解决方案是将其改回来并将其指向MySQL数据目录或特殊的临时文件区域(例如“D:\mysql_temp”)。

磁盘空间不足也可能是一个原因。
我有一个朋友2 02 3 年在北京,突然服务器挂了。
找了一段时间,发现我的C盘快满了。

想一想。
如果您甚至无法写入临时文件,如何避免陷入困境?解决办法是清理垃圾文件或者添加硬盘。
就是这样。

还有一件事:文件路径太长。
例如“C:ProgramDataMySQLMySQL Server 8 .0tempsql_1 5 8 8 _0.MYI”,这个路径太长,Windows有上限。

我尝试将MySQL数据目录移至C盘根目录,路径较短,也没有报错。

最后,防病毒软件或系统策略可能会阻止写入。
我曾经遇到过一家公司,其安全政策非常严格,甚至连临时文件都受到限制。

解决方案是与您的 IT 部门讨论并要求他们放宽限制。
就是这样。

所以这个错误的主要原因是权限。
然而,磁盘空间、路径长度和安全策略都会发挥作用。

必须一一核对。
首先检查权限,然后检查配置,然后检查磁盘、路径,最后检查安全软件。

是的,就是这样。

连接mysql数据库时报错:Access denied for user 'root'@'127.0.0.1' (using password: NO)

我以前遇到过这个问题。
说起来,当时我刚刚接手一个新项目,数据库配置有点问题。
当时就遇到了这个错误。

说实话,当时我很困惑。
错误信息乍一看似乎是权限问题,但详细解决需要一步步执行。
您必须首先打开并编辑vim配置文件/etc/my.cnf。
记得以root身份操作,否则可能没有编辑权限。

然后在[mysqld]下面添加一行代码,写上Add Skip Table。
这行代码的目的是忽略权限表,以便MySQL服务器在启动时不检查权限。

添加代码后,重启MySQL服务。
该命令是重新启动/etc/init.d/mysql。
此时MySQL就会启动,但由于没有权限检查,所以可以用root用户登录,无需密码。

连接MySQL的命令是mysql -u root -p。
请注意,您不需要在此处输入密码,因为我们只是设置一个跳跃表。

登录后,执行命令删除权限。
该命令的目的是刷新权限表并确保MySQL重新加载权限设置。

最后一步是重新启动MySQL服务。
命令仍然是restart /etc/init.d/mysql。
这样MySQL就正常启动了,权限问题就解决了。

我记得操作完成后,数据库就恢复正常了。
然而,这只是一个临时解决方案。
从长远来看,你将不得不修改MySQL密码设置以确保数据库安全。
我自己没有运行过这个,但我怀念围绕 X 的数据,但我建议你检查一下。