mysql 服务未启动:地址已被使用

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/14179434/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-31 16:04:05  来源:igfitidea点击:

mysql service does not start:Address already in use

mysql

提问by Tim

I'm try to install mysql-5.5.29 source code on ubuntu. Every time I restart or start the service, it tells me that MySQL Daemon failed to start..

我正在尝试在 ubuntu 上安装 mysql-5.5.29 源代码。每次我重新启动或启动服务时,它都会告诉我 MySQL Daemon 无法启动。

shell>>service mysql.server start

Starting MySQL
... * The server quit without updating PID file (/usr/local/mysql/data/ytl-HP-Pavilion-          g4-Notebook-PC.pid).

shell>>less /usr/local/mysql/data/ytl-HP-Pavilion-g4-Notebook-PC.err


130106 12:20:27 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data
130106 12:20:27 InnoDB: The InnoDB memory heap is disabled
130106 12:20:27 InnoDB: Mutexes and rw_locks use GCC atomic builtins
130106 12:20:27 InnoDB: Compressed tables use zlib 1.2.7
130106 12:20:27 InnoDB: Using Linux native AIO
130106 12:20:27 InnoDB: Initializing buffer pool, size = 128.0M
130106 12:20:27 InnoDB: Completed initialization of buffer pool
130106 12:20:27 InnoDB: highest supported file format is Barracuda.
130106 12:20:27  InnoDB: Waiting for the background threads to start
130106 12:20:28 InnoDB: 1.1.8 started; log sequence number 1595675
130106 12:20:28 [Note] Server hostname (bind-address): '0.0.0.0'; port: 3306
130106 12:20:28 [Note]   - '0.0.0.0' resolves to '0.0.0.0';
130106 12:20:28 [Note] Server socket created on IP: '0.0.0.0'.
130106 12:20:28 [ERROR] Can't start server : Bind on unix socket: Address already in use
130106 12:20:28 [ERROR] Do you already have another mysqld server running on socket: /var/lib/mysql ?
130106 12:20:28 [ERROR] Aborting

130106 12:20:28  InnoDB: Starting shutdown...
130106 12:20:29  InnoDB: Shutdown completed; log sequence number 1595675
130106 12:20:29 [Note] /usr/local/mysql/bin/mysqld: Shutdown complete

130106 12:20:29 mysqld_safe mysqld from pid file /usr/local/mysql/data/ytl-HP-Pavilion-g4-Notebook-PC.pid ended

shell>>ps aux |grep mysql
root      4884  0.0  0.0   5832   836 pts/1    S+   12:27   0:00 grep --color=auto mysql

shell>ll /usr/local/mysql

drwxr-xr-x 13 root  mysql  4096  1月  5 14:54 ./
drwxr-xr-x 13 root  root   4096  1月  5 14:54 ../
drwxr-xr-x  2 root  mysql  4096  1月  5 14:54 bin/
-rw-r--r--  1 root  mysql 17987 12月 10 14:16 COPYING
drwxr-xr-x  5 mysql mysql  4096  1月  6 12:23 data/
drwxr-xr-x  2 root  mysql  4096  1月  5 14:54 docs/
drwxr-xr-x  3 root  mysql  4096  1月  5 14:54 include/
-rw-r--r--  1 root  mysql  7605 12月 10 14:16 INSTALL-BINARY
drwxr-xr-x  3 root  mysql  4096  1月  5 14:54 lib/
drwxr-xr-x  4 root  mysql  4096  1月  5 14:54 man/
drwxr-xr-x 10 root  mysql  4096  1月  5 14:54 mysql-test/
-rw-r--r--  1 root  mysql  2552 12月 10 14:16 README
drwxr-xr-x  2 root  mysql  4096  1月  5 14:54 scripts/
drwxr-xr-x 27 root  mysql  4096  1月  5 14:54 share/
drwxr-xr-x  4 root  mysql  4096  1月  5 14:54 sql-bench/
drwxr-xr-x  2 root  mysql  4096  1月  5 14:54 support-files/

when install mysql yesterday,I use:

昨天安装 mysql 时,我使用:

cmake . -DCMAKE_INSTALL_PREFIX="/usr/local/mysql" \
-DMYSQL_UNIX_ADDR=/var/lib/mysql

but I found /var/lib/mysql is empty when i use:

但是当我使用时,我发现 /var/lib/mysql 是空的:

shell>> ll /var/lib/mysql
drwxr-xr-x  2 root root 4096  1月  2 23:38 ./
drwxr-xr-x 65 root root 4096  1月  2 23:38 ../

it seems 3306 socket is not in use

似乎没有使用 3306 套接字

shell>>netstat -na | grep LISTEN
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN     
tcp        0      0 127.0.1.1:53            0.0.0.0:*               LISTEN     
tcp6       0      0 ::1:631                 :::*                    LISTEN     
unix  2      [ ACC ]     流        LISTENING     14474    @/tmp/.ICE-unix/1685
unix  2      [ ACC ]     流        LISTENING     14475    /tmp/.ICE-unix/1685
unix  2      [ ACC ]     流        LISTENING     14449    /tmp/ssh- KTntrIp1gXrU/agent.1685
unix  2      [ ACC ]     流        LISTENING     2030     /tmp/.X11-unix/X0
unix  2      [ ACC ]     流        LISTENING     14142    /tmp/.com.google.Chrome.faNSdW/SingletonSocket
unix  2      [ ACC ]     流        LISTENING     13570    /run/user/ytlreal/keyring-cuLMzX/ssh
unix  2      [ ACC ]     流        LISTENING     14533    /tmp/pulse-dTohrWydajmn/native
unix  2      [ ACC ]     流        LISTENING     13581    /run/user/ytlreal/keyring-cuLMzX/pkcs11
unix  2      [ ACC ]     流        LISTENING     13583    /run/user/ytlreal/keyring-cuLMzX/gpg
unix  2      [ ACC ]     流        LISTENING     18200    /var/run/cups/cups.sock
unix  2      [ ACC ]     流        LISTENING     11828    /run/user/ytlreal/keyring-cuLMzX/control
unix  2      [ ACC ]     流        LISTENING     8408     @/com/ubuntu/upstart
unix  2      [ ACC ]     流        LISTENING     7998     @/org/bluez/audio
unix  2      [ ACC ]     流        LISTENING     2029     @/tmp/.X11-unix/X0
unix  2      [ ACC ]     流        LISTENING     11869    @/tmp/dbus-oZvW58NsSp
unix  2      [ ACC ]     流        LISTENING     8081     /var/run/acpid.socket
unix  2      [ ACC ]     流        LISTENING     9896     /var/run/dbus/system_bus_socket
unix  2      [ ACC ]     流        LISTENING     14913    @/tmp/dbus-2gkvFVNb
unix  2      [ ACC ]     流        LISTENING     9933     /var/run/sdp
unix  2      [ ACC ]     流        LISTENING     14457    @/tmp/dbus-kTBAyCa0aq
unix  2      [ ACC ]     流        LISTENING     9209     /var/run/avahi-daemon/socket
unix  2      [ ACC ]     SEQPACKET  LISTENING     8445     /run/udev/control

回答by Vahid Farahmand

There is another software which is listening in port 3306. Try doing

还有一个软件正在监听 3306 端口。试试做

netstat -na | grep LISTEN

then see if it's true. 3306 shouldn't be there. If you see something is listening on that port, you have to kill that before trying to start MySQL

然后看看是不是真的。3306 不应该在那里。如果你看到有什么东西在那个端口上监听,你必须在尝试启动 MySQL 之前杀死它

回答by Shiplu Mokaddim

These are the key lines

这些是关键线

130106 12:20:28 [ERROR] Can't start server : Bind on unix socket: Address already in use
130106 12:20:28 [ERROR] Do you already have another mysqld server running on socket: /var/lib/mysql ?

Find which program is using /var/lib/mysql

查找正在使用的程序 /var/lib/mysql

lsof /var/lib/mysql

Kill it

杀了它

kill -HUP `lsof -t /var/lib/mysql`

Try uninstalling it too.

也尝试卸载它。

Now Install again your newly installed server

现在再次安装您新安装的服务器