我一直尝试启动 mysql 服务器但出现此错误:
Can't start server : Bind on unix socket: Operation not permitted
2013-10-21 13:53:54 25098 [ERROR] Do you already have another mysqld server running on socket: [my-home-dir]/mysql-server/mysql.socket ?
我在 Google 上搜索了有关该主题的所有页面并尝试了所有方法,但没有任何效果。
以下是一些详细信息。我没有计算机的 root 访问权限。我所做的是在本地目录中安装 mysql 服务器。我的 my.cnf 文件如下所示:
[mysqld]
basedir = ~/mysql ## mysql unzipped files
datadir = ~/mysql-server/data
port = 3666
socket = ~/mysql-server/mysql.socket
user = my-ubuntu-user-name
我的安装步骤是:
- 将 mysql 5.6 的源代码分发版解压到 ~/mysql
- 按照上面所示创建 my.cnf。
初始化服务器。此步骤不会显示错误。
./scripts/mysql_install_db --defaults-file=my.cnf --user=my-ubuntu-user --datadir=~/mysql-server/data --basedir=~/mysql --socket=~/mysql-server/mysql.socket
启动服务器
./bin/mysqld --defaults-file=my.cnf
因此出现了错误:
Can't start server : Bind on unix socket: Operation not permitted 2013-10-21 13:53:54 25098 [ERROR] Do you already have another mysqld server running on socket: [my-home-dir]/mysql-server/mysql.socket ?
此外,我拥有所有相关文件夹的 755 访问权限。任何建议都会有帮助!
- -更新
- netstat 显示 3666 上未运行任何进程。
- 当前没有运行名为 mysql 的进程。
答案1
您能查看 /etc/my.cnf 文件并查看basedir=/var/lib
其下是否有类似的属性吗[mysql.server]
?
如果存在,则尝试注释掉该属性并重新启动 mysql。