MySQL 不会开始?

MySQL Wont Start?

我正在使用 OpenSuse。

当我尝试在我的系统上启动 mysql 时,它在安装 MySQL 后 运行ning。

rcmysql start

然后我收到这条消息。

Job for mysql.service failed because the control process exited with error code. See "systemctl status mysql.service" and "journalctl -xe" for details.

在 运行这两个命令之后。

systemctl status mysql.service

● mysql.service - MySQL server Loaded: loaded (/usr/lib/systemd/system/mysql.service; disabled; vendor preset: disabled) Active: failed (Result: exit-code) since Tue 2018-07-31 22:57:28 CDT; 4min 2s ago Process: 21381 ExecStartPost=/usr/lib/mysql/mysql-systemd-helper wait (code=exited, status=1/FAILURE) Process: 21380 ExecStart=/usr/lib/mysql/mysql-systemd-helper start (code=exited, status=1/FAILURE) Process: 21369 ExecStartPre=/usr/lib/mysql/mysql-systemd-helper upgrade (code=exited, status=0/SUCCESS) Process: 21359 ExecStartPre=/usr/lib/mysql/mysql-systemd-helper install (code=exited, status=0/SUCCESS) Main PID: 21380 (code=exited, status=1/FAILURE)

那我运行

journalctl -xe

Jul 31 21:48:00 linux-kfrm org.kde.kwalletd5[2699]: kwalletd5 started Jul 31 21:48:00 linux-kfrm org.kde.kwalletd5[2699]: openAsync for ":1.4" Jul 31 21:48:00 linux-kfrm org.kde.kwalletd5[2699]: Setting useNewHash to true Jul 31 21:48:00 linux-kfrm org.kde.kwalletd5[2699]: Wallet new enough, using new hash Jul 31 21:48:00 linux-kfrm org.kde.kwalletd5[2699]: fsize: 957594615 encrypted.size(): 47528 blksz: 8 Jul 31 21:48:00 linux-kfrm org.kde.kwalletd5[2699]: Application ' "kded5" ' using kwallet without parent window! Jul 31 21:48:00 linux-kfrm org.kde.kwalletd5[2699]: Migration agent starting... Jul 31 21:48:00 linux-kfrm org.kde.kwalletd5[2699]: old wallets were already migrated Jul 31 21:48:00 linux-kfrm org.kde.kwalletd5[2699]: Migration agent stop. Jul 31 21:48:07 linux-kfrm org.kde.kwalletd5[2699]: Setting useNewHash to true Jul 31 21:48:07 linux-kfrm org.kde.kwalletd5[2699]: Wallet new enough, using new hash Jul 31 22:01:41 linux-kfrm su[5573]: (to root) sdrafahl on pts/2 Jul 31 22:01:41 linux-kfrm su[5573]: pam_unix(su:session): session opened for user root by (uid=1000) Jul 31 22:01:41 linux-kfrm su[5573]: pam_systemd(su:session): Cannot create session: Already running in a session Jul 31 22:01:41 linux-kfrm su[5573]: pam_unix(su:session): session closed for user root Jul 31 22:01:41 linux-kfrm su[5578]: (to root) sdrafahl on pts/2 Jul 31 22:01:41 linux-kfrm su[5578]: pam_unix(su:session): session opened for user root by (uid=1000) Jul 31 22:01:41 linux-kfrm su[5578]: pam_systemd(su:session): Cannot create session: Already running in a session Jul 31 22:15:28 linux-kfrm su[5578]: pam_unix(su:session): session closed for user root Jul 31 22:16:26 linux-kfrm su[16763]: (to root) sdrafahl on pts/0 Jul 31 22:16:26 linux-kfrm su[16763]: pam_unix(su:session): session opened for user root by sdrafahl(uid=1000) Jul 31 22:16:26 linux-kfrm su[16763]: pam_systemd(su:session): Cannot create session: Already running in a session Jul 31 22:18:05 linux-kfrm su[16949]: (to root) sdrafahl on pts/2 Jul 31 22:18:05 linux-kfrm su[16949]: pam_unix(su:session): session opened for user root by (uid=1000) Jul 31 22:18:05 linux-kfrm su[16949]: pam_systemd(su:session): Cannot create session: Already running in a session Jul 31 22:18:05 linux-kfrm su[16949]: pam_unix(su:session): session closed for user root Jul 31 22:18:05 linux-kfrm su[16954]: (to root) sdrafahl on pts/2 Jul 31 22:18:05 linux-kfrm su[16954]: pam_unix(su:session): session opened for user root by (uid=1000) Jul 31 22:18:05 linux-kfrm su[16954]: pam_systemd(su:session): Cannot create session: Already running in a session Jul 31 22:35:27 linux-kfrm su[2970]: (to root) sdrafahl on pts/4 Jul 31 22:35:27 linux-kfrm su[2970]: pam_unix(su:session): session opened for user root by (uid=1000) Jul 31 22:35:27 linux-kfrm su[2970]: pam_systemd(su:session): Cannot create session: Already running in a session Jul 31 22:35:27 linux-kfrm su[2970]: pam_unix(su:session): session closed for user root Jul 31 22:35:27 linux-kfrm su[2977]: (to root) sdrafahl on pts/4 Jul 31 22:35:27 linux-kfrm su[2977]: pam_unix(su:session): session opened for user root by (uid=1000) Jul 31 22:35:27 linux-kfrm su[2977]: pam_systemd(su:session): Cannot create session: Already running in a session

我尝试卸载 mysql 并重新安装,但没有任何效果。

当我尝试做 mysql -u root -p 然后输入密码 我收到这条消息。

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysql/mysql.sock' (2 "No such file or directory")

如何解决此问题并安装 mysql 以便我可以登录?

您的错误日志部分显示

Cannot create session: Already running in a session Jul 31 22:35:27

通常意味着某些东西已经连接到 mysql 需要使用的端口上。这通常发生在上一次启动尝试失败但仍连接到 mysql 需要使用的端口时。另一个不太可能的原因是另一个程序已经在使用该端口。

如果您使用默认设置安装 mysql,那么它会尝试使用端口 3306,这是 mysql 的正常端口。因此,另一个程序不太可能正在使用该端口。它很可能仍然连接到之前失败的 mysql 启动。

类型

netstat -an | grep -i 3306

这将告诉您是否有进程使用 mysql 端口。您可能会看到类似这样的内容:

# netstat -an | grep 3306
tcp        0      0 xxx.xxx.xxx.xxx:3306         0.0.0.0:*               LISTEN     

这意味着您在 mysql 端口上已经有一些东西 运行。所以,输入:

lsof -i :3306

你应该会看到如下内容:

COMMAND   PID  USER   FD   TYPE  DEVICE SIZE/OFF NODE NAME
mysqld  NNNNN mysql   14u  IPv4 1400263      0t0  TCP hostname:mysql (LISTEN)

这将告诉您哪个程序正在使用该端口。获取进程的 PID 并使用

终止进程
kill -9 NNNNN

然后再次尝试重新启动 mysql