我有一个MAMP成功运行在一个用户,但因为我已经创build了一个新的用户来分隔两个开发人员之间的事情,其发脾气。 我对Mac本身相当陌生,但设法find有类似问题的用户。
在我的旧用户,Apache不启动,在新用户,MySql不启动。 我也证实没有其他的mysqld实例正在运行,但它不会在我的系统上运行MySql。 我已经多次重启系统,甚至在文件my.cnf中检查/ etc,但是/ etc里面没有my.cnf
找不到任何forms要求在mamp.info上的支持,现在拼命想念我的Ubuntu 🙁
这里是mysql日志:
110803 16:16:26 [Note] Plugin 'FEDERATED' is disabled. 110803 16:16:26 [Note] Plugin 'ndbcluster' is disabled. /Applications/MAMP/Library/libexec/mysqld: Can't find file: './mysql/plugin.frm' (errno: 13) 110803 16:16:26 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it. 110803 16:16:26 InnoDB: Started; log sequence number 0 396676924 110803 16:16:26 [ERROR] /Applications/MAMP/Library/libexec/mysqld: Can't find file: './mysql/host.frm' (errno: 13) 110803 16:16:26 [ERROR] Fatal error: Can't open and lock privilege tables: Can't find file: './mysql/host.frm' (errno: 13) 110803 16:16:26 mysqld_safe mysqld from pid file /Applications/MAMP/tmp/mysql/mysql.pid ended
可能是什么问题?
此问题与当前用户无权访问文件./mysql/host.frm )有关。
据推测,这是因为它是由不同的用户安装的,所有文件都由该用户拥有,写入权限仅针对文件所有者设置。
在典型的MAMP安装中,所有权可能设置为olduser ,而pipe理员组(olduser:admin)仅具有用户读/写权限。 如果新用户也在pipe理员组中,那么只需添加组读取和写入整个MAMPpath:
sudo chmod -R ug+rw /Applications/MAMP
如果像我的情况一样,公司笔记本电脑从一个用户传递到另一个用户(即olduser将不再使用它),那么也可以改变所有文件的所有权:
sudo chown -R newuser:admin /Applications/MAMP
边注:
我知道这是一个古老的线索,但是现在它出现了,我遇到了同样的问题,我想我会为我自己的问题添加完整的解决scheme。 此外womble的答案提供了有益的洞察到错误的根源。
问题是你的MySQL数据是由不同的用户拥有,而不是正在尝试访问它的用户。 把你的MySQL数据目录chown新的用户,或者也许(如果你想继续允许多个人将来运行MySQL)为新用户创build一个单独的MySQL数据目录,并适当修改第二个用户的configuration文件。