我正在使用OpenSuse。
当我尝试在系统上启动mysql时,会在安装MySQL后运行。
rcmysql start
然后我收到此消息。
mysql.service的作业失败,因为控制过程退出 错误代码。请参见“ systemctl状态mysql.service”和“ journalctl -xe” 有关详细信息。
运行这两个命令后。
systemctl status mysql.service
●mysql.service-MySQL服务器已加载:已加载 (/usr/lib/systemd/system/mysql.service;禁用;供应商预设: 禁用)有效:自2018年2月27日星期二以来失败(结果:退出代码) 22:57:28 CDT; 4min 2s前过程:21381 ExecStartPost = / usr / lib / mysql / mysql-systemd-helper等待(代码=已退出, status = 1 / FAILURE)流程:21380 ExecStart = / usr / lib / mysql / mysql-systemd-helper start(代码=已退出, status = 1 / FAILURE)流程:21369 ExecStartPre = / usr / lib / mysql / mysql-systemd-helper升级(代码=已退出, status = 0 / SUCCESS)流程:21359 ExecStartPre = / usr / lib / mysql / mysql-systemd-helper安装(代码=已退出, status = 0 / SUCCESS)主PID:21380(代码=已退出,status = 1 / FAILURE)
然后我跑
journalctl -xe
Jul 31 21:48:00 linux-kfrm org.kde.kwalletd5 [2699]:kwalletd5已启动 7月31日21:48:00 linux-kfrm org.kde.kwalletd5 [2699]:openAsync用于 “:1.4” Jul 31 21:48:00 linux-kfrm org.kde.kwalletd5 [2699]:设置 useNewHash设为true Jul 31 21:48:00 linux-kfrm org.kde.kwalletd5 [2699]: 钱包足够新,使用新的哈希值Jul 31 21:48:00 linux-kfrm org.kde.kwalletd5 [2699]:fsize:957594615 crypto.size():47528 blksz:7月31日21:48:00 linux-kfrm org.kde.kwalletd5 [2699]: 使用不带父窗口的kwallet的应用程序““ kded5”“! 7月31 21:48:00 linux-kfrm org.kde.kwalletd5 [2699]:迁移代理 开始... 7月31日21:48:00 linux-kfrm org.kde.kwalletd5 [2699]:旧 钱包已经迁移7月31日21:48:00 linux-kfrm org.kde.kwalletd5 [2699]:迁移代理停止。 7月31日21:48:07 linux-kfrm org.kde.kwalletd5 [2699]:将useNewHash设置为true Jul 31 21:48:07 linux-kfrm org.kde.kwalletd5 [2699]:钱包足够新,使用 新哈希7月31日22:01:41 linux-kfrm su [5573] :( root)sdrafahl on pts / 2 Jul 31 22:01:41 linux-kfrm su [5573]:pam_unix(su:session): (uid = 1000)为用户root打开的会话7月31日22:01:41 linux-kfrm su [5573]:pam_systemd(su:session):无法创建会话:已经 在会话中运行Jul 31 22:01:41 linux-kfrm su [5573]: pam_unix(su:session):用户root会话已关闭Jul 31 22:01:41 linux-kfrm su [5578] :(在root上)sdrafahl pts / 2 7月31日22:01:41 linux-kfrm su [5578]:pam_unix(su:session):为用户打开的会话 root by(uid = 1000)Jul 31 22:01:41 linux-kfrm su [5578]: pam_systemd(su:session):无法创建会话:已经在 会话Jul 31 22:15:28 linux-kfrm su [5578]:pam_unix(su:session): 用户root的会话已关闭7月31日22:16:26 linux-kfrm su [16763]:(至 root)sdrafahl on pts / 0 Jul 31 22:16:26 linux-kfrm su [16763]: pam_unix(su:session):由root用户打开的会话 sdrafahl(uid = 1000)7月31日22:16:26 linux-kfrm su [16763]: pam_systemd(su:session):无法创建会话:已经在 会话Jul 31 22:18:05 linux-kfrm su [16949] :(要根)sdrafahl pts / 2 Jul 31 22:18:05 linux-kfrm su [16949]:pam_unix(su:session): 由(uid = 1000)为用户root打开的会话7月31日22:18:05 linux-kfrm su [16949]:pam_systemd(su:session):无法创建会话:已经 在会话中运行Jul 31 22:18:05 linux-kfrm su [16949]: pam_unix(su:session):用户root会话已关闭Jul 31 22:18:05 linux-kfrm su [16954] :(在root上)sdrafahl pts / 2 7月31日22:18:05 linux-kfrm su [16954]:pam_unix(su:session):为用户打开的会话 root by(uid = 1000)Jul 31 22:18:05 linux-kfrm su [16954]: pam_systemd(su:session):无法创建会话:已经在 会话Jul 31 22:35:27 linux-kfrm su [2970] :(要根)sdrafahl pts / 4 Jul 31 22:35:27 linux-kfrm su [2970]:pam_unix(su:session): 由(uid = 1000)为用户root打开的会话7月31日22:35:27 linux-kfrm su [2970]:pam_systemd(su:session):无法创建会话:已经 在会话中运行Jul 31 22:35:27 linux-kfrm su [2970]: pam_unix(su:session):用户root会话关闭Jul 31 22:35:27 linux-kfrm su [2977] :(在root上)sdrafahl pts / 4 Jul 31 22:35:27 linux-kfrm su [2977]:pam_unix(su:session):为用户打开的会话 root by(uid = 1000)Jul 31 22:35:27 linux-kfrm su [2977]: pam_systemd(su:session):无法创建会话:已经在 会议
我尝试卸载mysql并重新安装,但没有效果。
当我尝试做mysql -u root -p
时
然后输入我收到此消息的密码。
ERROR 2002(HY000):无法通过套接字连接到本地MySQL服务器 '/var/run/mysql/mysql.sock'(2个“无此文件或目录”)
如何解决此问题并安装mysql以便登录?
答案 0 :(得分:0)
您的错误日志中显示为
的部分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