我使用命令:
/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.
答案 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表空间。您将丢失它们,但数据仍可在其他数据库中访问) )。