服务器退出而不更新PID文件'

时间:2015-11-03 20:52:47

标签: mysql

我使用命令:

/usr/local/Cellar/mysql/5.6.26/support-files/mysql.server start

启动数据库并获取错误信息:

ERROR! The server quit without updating PID file(/usr/local/var/mysql/macbooks-MacBook-Pro.local.pid).

local.err具有以下信息:

151103 20:43:37 mysqld_safe Starting mysqld daemon with databases from /usr/local/var/mysql
2015-11-03 20:43:37 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2015-11-03 20:43:37 0 [Note] /usr/local/Cellar/mysql/5.6.26/bin/mysqld (mysqld 5.6.26) starting as process 42772 ...
2015-11-03 20:43:37 42772 [Warning] Setting lower_case_table_names=2 because file system for /usr/local/var/mysql/ is case insensitive
2015-11-03 20:43:37 42772 [Note] Plugin 'FEDERATED' is disabled.
/usr/local/Cellar/mysql/5.6.26/bin/mysqld: Can't find file: './mysql/plugin.frm' (errno: 13 - Permission denied)
2015-11-03 20:43:37 42772 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.

1 个答案:

答案 0 :(得分:1)

您的MySQL安装似乎已损坏。您有错误,但建议的解决方案可能没有帮助:

/usr/local/Cellar/mysql/5.6.26/bin/mysqld: Can't find file: './mysql   /plugin.frm'
(errno: 13 - Permission denied)
2015-11-03 20:43:37 42772 [ERROR] Can't open the mysql.plugin table.
Please run mysql_upgrade to create it.

如您所见,MySQL无法打开文件,但不是因为它不存在;而是因为它无权这样做(错误13)。

在控制台中,验证“mysql”目录中mysql / plugin.frm文件的状态。你需要找到MySQL data directory(mysql)。

假设它是/usr/local/var/mysql/,你会做

ls -la /usr/local/var/mysql/ | more

(SPACE或ENTER以分页输出)并查看包含“plugin.frm”的行。

如果没有,那么运行mysql_upgrade命令可能修复问题(但先备份mysql安装和数据目录!以防万一)。

如果有,请验证它与其他文件具有相同的用户和组。有可能其他文件将由Cellar /用户拥有,这可能是root / wheel。作为管理员(su),尝试运行

chown Cellar:users ./mysql/plugin.frm

这应该可以修复Errno 13,也可能是PID故障。

失败一切,重新安装MySQL可能是一个解决方案。您将安装相同的5.6.26版本,然后验证数据目录,并在必要时使用您的备份覆盖它,并小心保留新的所有权和权限。

这个技巧不能保证在不同的MySQL版本和操作系统之间工作,但是在具有相同MySQL版本和操作系统的同一台机器上,它有很大的机会。

您还可以仅运行所需数据库的部分还原(例如,您可以跳过还原所有用户和权限所在的mysql表空间。您将丢失它们,但数据仍可在其他数据库中访问) )。