【问题标题】:MySQL Wont Start?MySQL 无法启动?
【发布时间】:2019-01-08 13:07:31
【问题描述】:

我正在使用 OpenSuse。

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

rcmysql start

然后我收到这条消息。

mysql.service 的作业失败,因为控制进程退出 错误代码。请参阅“systemctl status mysql.service”和“journalctl -xe” 了解详情。

运行这两个命令后。

systemctl status mysql.service

● mysql.service - MySQL 服务器 Loaded:已加载 (/usr/lib/systemd/system/mysql.service;已禁用;供应商预设: 禁用)活动:自 2018 年 7 月 31 日星期二以来失败(结果:退出代码) 22:57:28 CDT; 4分2秒前处理:21381 ExecStartPost=/usr/lib/mysql/mysql-systemd-helper 等待(代码=退出, 状态=1/失败)进程:21380 ExecStart=/usr/lib/mysql/mysql-systemd-helper start (code=exited, 状态=1/失败)进程:21369 ExecStartPre=/usr/lib/mysql/mysql-systemd-helper 升级(code=exited, 状态=0/成功)进程:21359 ExecStartPre=/usr/lib/mysql/mysql-systemd-helper install (code=exited, status=0/SUCCESS) 主 PID: 21380 (code=exited, status=1/FAILURE)

然后我运行

journalctl -xe

7 月 31 日 21:48:00 linux-kfrm org.kde.kwalletd5[2699]:kwalletd5 已启动 7 月 31 日 21:48:00 linux-kfrm org.kde.kwalletd5[2699]:openAsync for “:1.4” 7月31日21:48:00 linux-kfrm org.kde.kwalletd5 [2699]:设置 useNewHash 为真 7 月 31 日 21:48:00 linux-kfrm org.kde.kwalletd5[2699]: 钱包足够新,使用新哈希 Jul 31 21:48:00 linux-kfrm org.kde.kwalletd5[2699]: fsize: 957594615 encrypted.size(): 47528 blksz:7 月 31 日 8 日 21:48:00 linux-kfrm org.kde.kwalletd5[2699]: 应用程序 '"kded5"' 使用没有父窗口的 kwallet! 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 设置为真 7 月 31 日 21:48:07 linux-kfrm org.kde.kwalletd5[2699]:钱包足够新,正在使用 新哈希 7 月 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): (uid=1000) 7 月 31 日 22:01:41 linux-kfrm 为 root 用户打开的会话 su [5573]:pam_systemd(su:session):无法创建会话:已经 在会话中运行 7 月 31 日 22:01:41 linux-kfrm su[5573]: pam_unix(su:session): 用户 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): 为用户打开的会话 root by (uid=1000) Jul 31 22:01:41 linux-kfrm su[5578]: pam_systemd(su:session): 无法创建会话: 已经在运行 会议 7 月 31 日 22:15:28 linux-kfrm su[5578]: pam_unix(su:session): 用户 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): 为 root 用户打开的会话 sdrafahl(uid=1000) 7 月 31 日 22:16:26 linux-kfrm su[16763]: pam_systemd(su:session): 无法创建会话: 已经在运行 会议 7 月 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): (uid=1000) 7 月 31 日 22:18:05 linux-kfrm 为 root 用户打开的会话 su [16949]:pam_systemd(su:session):无法创建会话:已经 在会话中运行 7 月 31 日 22:18:05 linux-kfrm su[16949]: pam_unix(su:session): 用户 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): 为用户打开的会话 root by (uid=1000) Jul 31 22:18:05 linux-kfrm su[16954]: pam_systemd(su:session): 无法创建会话: 已经在运行 会议 7 月 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): (uid=1000) 7 月 31 日 22:35:27 linux-kfrm 为 root 用户打开的会话 su [2970]:pam_systemd(su:session):无法创建会话:已经 在会话中运行 7 月 31 日 22:35:27 linux-kfrm su[2970]: pam_unix(su:session): 用户 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): 为用户打开的会话 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 以便我可以登录?

【问题讨论】:

    标签: mysql opensuse


    【解决方案1】:

    错误日志中显示的部分

    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

    【讨论】:

      猜你喜欢
      • 2012-04-22
      • 2016-02-29
      • 1970-01-01
      • 2021-07-31
      • 2022-01-25
      • 2017-02-18
      • 2013-08-13
      相关资源
      最近更新 更多