我有一台带有OS X Yosemite的Mac Pro服务器,几天前我们升级到OS X El Capitan。当我尝试重新安装MySQL时出现问题。我进入官方MySQL页面并在DMG包中下载最新版本(5.7.9)并正常安装 安装并重启服务器后,MySQL服务器没有自动启动,手动启动时我得到:
class Account:
def __init__(self, id):
self.id = id
id = 800
id = self.id + id
acc = Account(123)
print(acc.id)
我一直在互联网上尝试很多解决方案:
After MySQL install via Brew, I get the error - The server quit without updating PID file
http://coolestguidesontheplanet.com/mysql-error-server-quit-without-updating-pid-file/
PID error on mysql.server start?
MySQL pid ended (cannot start mysql)
我尝试使用ERROR! The server quit without updating PID file (/usr/local/mysql/data/macServer.pid)
,重新启动服务器。删除mysql.server restart
文件,我也尝试创建自己的PID文件,但它已被自动删除。
可能的解决方案是完全卸载MySQL并重新安装:http://bytearrays.com/completely-uninstall-mysql-mac-osx/
另一个是修改*.err
,但这些文件与提供的解决方案完全相同,因此无法解决我的问题。
我仍然无法启动MySQL服务器。
我认为有两种可能性:一方面可能是我没有完全卸载MySQL而且有些东西做坏事,另一方面是/etc/my.cnf文件的使用是问题。< / p>
我已经被困了2天了。我不知道如何运行服务器。
编辑1:执行.plist
的输出是:
sudo mysqld --user=mysql
我忘了把这个错误放在最初的问题上,这似乎是InnoDB上的一个错误(我不知道它是什么,如果有人可以解释我是什么,我会非常感激)。我也通过互联网查找了这个错误,我不记得我在哪里看到了解决方案,但我必须删除每个InnoDB日志文件(simidat-apps:~ admin$ sudo mysqld --user=mysql
Password:
2015-11-18 9:08:36 140735160397824 [Note] mysqld (mysqld 10.1.8-MariaDB) starting as process 81030 ...
2015-11-18 9:08:36 140735160397824 [Warning] Setting lower_case_table_names=2 because file system for /usr/local/var/mysql/ is case insensitive
2015-11-18 9:08:36 140735160397824 [ERROR] mysqld: File '/usr/local/var/mysql/aria_log_control' not found (Errcode: 13 "Permission denied")
2015-11-18 9:08:36 140735160397824 [ERROR] mysqld: Got error 'Can't open file' when trying to use aria control file '/usr/local/var/mysql/aria_log_control'
2015-11-18 9:08:36 140735160397824 [ERROR] Plugin 'Aria' init function returned error.
2015-11-18 9:08:36 140735160397824 [ERROR] Plugin 'Aria' registration as a STORAGE ENGINE failed.
2015-11-18 9:08:36 140735160397824 [Note] InnoDB: Using mutexes to ref count buffer pool pages
2015-11-18 9:08:36 140735160397824 [Note] InnoDB: The InnoDB memory heap is disabled
2015-11-18 9:08:36 140735160397824 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2015-11-18 9:08:36 140735160397824 [Note] InnoDB: Memory barrier is not used
2015-11-18 9:08:36 140735160397824 [Note] InnoDB: Compressed tables use zlib 1.2.5
2015-11-18 9:08:36 140735160397824 [Note] InnoDB: Using CPU crc32 instructions
2015-11-18 9:08:36 140735160397824 [Note] InnoDB: Initializing buffer pool, size = 128.0M
2015-11-18 9:08:36 140735160397824 [Note] InnoDB: Completed initialization of buffer pool
2015-11-18 9:08:36 140735160397824 [ERROR] InnoDB: ./ibdata1 can't be opened in read-write mode
2015-11-18 9:08:36 140735160397824 [ERROR] InnoDB: The system tablespace must be writable!
2015-11-18 9:08:36 140735160397824 [ERROR] Plugin 'InnoDB' init function returned error.
2015-11-18 9:08:36 140735160397824 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
2015-11-18 9:08:36 140735160397824 [Note] Plugin 'FEEDBACK' is disabled.
2015-11-18 9:08:36 140735160397824 [ERROR] Could not open mysql.plugin table. Some plugins may be not loaded
2015-11-18 9:08:36 140735160397824 [ERROR] Unknown/unsupported storage engine: InnoDB
2015-11-18 9:08:36 140735160397824 [ERROR] Aborting
文件),令人惊讶的是我找不到任何日志文件所以我无法删除任何东西。我认为这可能是一个权限问题,但对用户有什么权限?
答案 0 :(得分:3)
你的问题实际上不是Mysql,而是MariaDB的方案。问题是aria_log_control
文件的权限。
我通过brew
安装了mysql / mariadb,因此我:
sudo chmod 775
/ usr / local / var / mysql / aria_log_control`)rm /usr/local/var/mysql/*.home.err
)Other sources声称你需要删除mysql目录。对我来说情况并非如此。
答案 1 :(得分:0)
根据the answer listed on github,将mysqld用户更改为您的用户: -
创建/usr/local/etc/my.cnf.d/user.cnf
并添加以下行: -
[mysqld]
user=YOUR_USER_NAME
OSX Sierra 10.12.1 / MariaDB 10.1.19
https://github.com/Homebrew/legacy-homebrew/issues/50670
(我尝试更改aria_log_control
文件的权限,但这些权限在重新启动后无效。
答案 2 :(得分:0)
要检查的另一件事是mysql数据目录上的所有父目录的权限都是正确的。
对于前。检查/ var上的权限是否正确,/ var / lib /的权限是否正确。
在我的情况下,我的/ var权限搞砸了,用户&#34; mysql&#34;根本无法访问var目录。
一种理智检查方法是切换到普通用户,并确保普通用户可以cd到/ var和/ var / lib(假设mysql数据目录在/var/lib内)。