无法通过XAMPP和phpMyAdmin访问MySQL

6
我正在使用XAMPP,尝试通过 http://localhost/phpmyadmin 访问phpMyAdmin,但我收到了以下错误消息:
Error
SQL query: 

SHOW PLUGINS

MySQL said: 

#1 - Can't create/write to file '/var/folders/_y/gtpc137d1q9gkvsj0dsxjd040000gn/T/#sql9f2_8_0.MYI' (Errcode: 13)

我已经有一段时间没有尝试访问它了,所以我不知道自上次以来发生了什么变化。有人能为我解答一下吗?我已经在谷歌上搜索过了,但似乎无法理解大多数相关问题中的内容。

此外,我的XAMPP也无法再连接到Apache了(它只是一直给我加载图像)。

这是我收到的错误信息:

121201 22:59:27 mysqld_safe Starting mysqld daemon with databases from /Applications/XAMPP/xamppfiles/var/mysql
Warning: World-writable config file '/Applications/XAMPP/xamppfiles/etc/my.cnf' is ignored
121201 22:59:28 [Warning] Setting lower_case_table_names=2 because file system for     /Applications/XAMPP/xamppfiles/var/mysql/ is case insensitive
121201 22:59:28 [Note] Plugin 'FEDERATED' is disabled. /Applications/XAMPP/xamppfiles/sbin/mysqld: Can't create/write to file '/var/folders/_y/gtpc137d1q9gkvsj0dsxjd040000gn/T/ibCVKOvf' (Errcode: 13)
121201 22:59:28  InnoDB: Error: unable to create temporary file; errno: 13
121201 22:59:28 [ERROR] Plugin 'InnoDB' init function returned error.
121201 22:59:28 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
121201 22:59:29 [Note] Event Scheduler: Loaded 0 events
121201 22:59:29 [Note] /Applications/XAMPP/xamppfiles/sbin/mysqld: ready for connections.
Version: '5.1.44'  socket: '/Applications/XAMPP/xamppfiles/var/mysql/mysql.sock'  port: 3306  Source distribution

你已经解决了这个问题吗? - david
我从来没有这样做过。我一直通过连接到数据库的互联网连接进行编辑。 - MillerMedia
如果你仍想尝试:告诉我们在启动过程中“XAMPP/xamppfiles/var/mysql/localhost.err”下的日志记录了什么。 - david
你尝试过我建议的吗?关于Apache无法启动的问题 - 可能是因为您启用了本机的MacOSX Web共享,这意味着已经有另一个Apache正在运行。或者可能与您之前的端口更改有关。 - david
@MxmastaMills,你正在使用一个加入域的MAC吗?我刚刚遇到了同样的问题,之前在其他任何MAC上都没有出现过。这个MAC加入了域,我想知道这是否是出现问题的原因之一。昨天我刚安装了最新版本的XAMPP,在今天早上开机后就出现了这个问题。 - Cleanshooter
显示剩余3条评论
7个回答

46

以下日志行是原因:

"警告:可写的配置文件'/Applications/XAMPP/xamppfiles/etc/my.cnf'被忽略"

正如Rishi Kalia已经指出的那样,您需要设置正确的权限:

  1. 打开终端
  2. 导航到XAMPP配置文件夹

    cd /Applications/XAMPP/xamppfiles/etc/

  3. my.cnf文件的权限设置为600

    sudo chmod 600 my.cnf

  4. 重新启动MySQL。


运行sudo chmod 600 my.cnf命令后,my.cnf的所有信息都丢失了。有什么建议可以获得默认的my.cnf文件? - J4cK
1
在我看来,这是不可能的,因为chmod仅在元级别上更改文件,没有实际的文件内容涉及。但是要恢复,只需从XAMPP下载包中复制原始的my.cnf文件或重新安装即可。 - david
问题在于,如果我重新安装XAMPP,可能会破坏我的现有数据库,而且我有很多数据库和巨大的大小。我能否只恢复my.cnf文件? - J4cK

7
我必须重新设置我的xampp文件夹中的权限,因为我需要能够通过正在构建的网站上的php将图像插入htdocs文件夹中。但是,在我更改权限后,出现了Errcode:13的错误。
上述过程是有效的,但我为那些不知道如何使用终端的人添加了一些额外的注释。
1. 打开终端
终端在“应用程序/实用工具/终端”中。
2. 导航到XAMPP配置文件夹
“pwd”显示到当前目录的路径列表
“cd”更改当前目录
“ls -a”列出该目录中的所有文件
在终端中输入以下代码: cd /Applications/XAMPP/xamppfiles/etc/
3. 将my.cnf的权限设置为600
在终端中输入以下代码: sudo chmod 600 my.cnf
4. 重启MySQL
完成!

2

您需要进入XAMPP安装目录,并将my.cnf的权限更改为600。


1
我把权限从3306改成了600,但仍然不幸地收到相同的错误信息。有任何想法为什么会这样吗? - MillerMedia
打开终端并导航到带有 my.cnf 的文件夹,输入:sudo chmod 600 my.cnf,然后按回车键,输入您的密码。 - 000

0

啊,我试图编辑我的httpd.conf文件,现在我完全无法连接。我将端口从80更改为44,但它没有起作用,所以我只是将其改回了80,现在根本无法连接。有什么想法吗?这是最初的设置... - MillerMedia
已经解决了(我忘记将服务器设置为localhost:44)。问题是当我尝试通过localhost:44/phpmyadmin访问mysql时,仍然收到相同的错误消息。 - MillerMedia
你尝试更改XAMPP主文件夹的Windows安全设置了吗? - Chamath
我没有在 Mac 上的经验。但请检查您的 XAMPP 文件夹是否具有读取、写入和修改的完全控制权限。 - Chamath

0

如果您更改了 XAMPP 主文件夹(“/Applications/XAMPP”)中所有封闭项目的写入和读取权限,请确保将此文件夹对于所有人都设置为可读和可写:"/Applications/XAMPP/xamppfiles/var/mysql"。

这可以通过从 Finder 访问该文件夹并获取信息(Cmd + I),在“共享与权限”中单击锁定图标,输入密码并将“所有人 - 只读”更改为“所有人 - 读取和写入”,并确保对所有封闭项目进行更改(单击齿轮图标,然后选择“应用于封闭项目...”)来完成。

希望这能帮到您!


-1

非常简单...一旦您拥有了xamppfiles的所有权,您还需要更新xamppfiles/etc/目录中的my.cnf文件。

默认的MySQL密码是mysql

一旦您授权httpd服务以User yourusername(OS X)Group yourgroup(id)运行。

打开终端并键入sudo whoami,这将告诉您。在my.cnf文件中,用您的用户名替换mysql

重新启动Apache。

您的username.pid文件将自动更新。


-1

进入文件夹等 执行命令 sudo chmod 600 my.cnf

重启MySQL服务器


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接