本文翻译自链接。
答案一
你遵循brew install mysql
的说明了吗?
用用户账户来执行以下命令:
1 | unset TMPDIR mysql_install_db --verbose --user=`whoami` --basedir="$(brew --prefix mysql)" --datadir=/usr/local/var/mysql --tmpdir=/tmp |
若想在另一个文件夹中建立基础表,或者使用了不同的用户运行了mysqld,请查看mysql_install_db
的帮助文档:
1 | mysql_install_db --help |
或者查看MySQL官方文档:
- http://dev.mysql.com/doc/refman/5.5/en/mysql-install-db.html
- http://dev.mysql.com/doc/refman/5.5/en/default-privileges.html
比如说你想使用’mysql’作为用户,你需要运行sudo
命令:
1 | sudo mysql_install_db ...options... |
然后手动启动mysqld:
1 | mysql.server start |
注意:如果该操作失败的话,你可能是忘记运行前两步操作
答案二
尝试找到后缀名为”.err”的log文件,这里记录了更详细的信息。它可能位于:
1 | /usr/local/var/mysql/your_computer_name.local.err |
或许是由于权限问题:
- 检查是否有mysql实例正在运行:
1 | ps -ef | grep mysql |
如果是的话,你应该关掉它,或者直接杀掉进程:
1 | kill -9 PID |
其中PID
是第一个命令输出的靠近用户名的那个数字(进程ID)
- 检查
/usr/local/var/mysql/
的所有者:
1 | ls -laF /usr/local/var/mysql/ |
如果它的所有者是root
的话,你应该把它改成mysql
或者你的用户名
:
1 | sudo chown -R mysql /usr/local/var/mysql/ |
答案三
译者注:我是使用该方法解决的。
我在我的Mac上存在同样的问题(我是严格按照brew install
的说明来安装的)
删掉下面这个错误文件解决了我的问题:
1 | sudo rm -rf /usr/local/var/mysql/dev.work.err (dev.work is my hostname) |
这个对我起作用是由于dev.work.err
是属于_mysql:wheel
的,而不是我自己的用户名.更改“错误文件”的所有者可能也会起作用。
答案四
检查所有正在运行的MySQL进程:
1 | $ ps aux | grep mysql USER PID %CPU %MEM _mysql 5970 0.0 0.4 ... |
使用下面的命令杀死所有的进程:
1 | $ sudo kill -9 [PID] |
使用第一条命令获得的PID来代替[PID]
,比如说:5970
然后重启MySQL服务器:
1 | $ mysql.server start |