사용자 연결 중에 mysql 서비스를 다시 시작하면 서비스 오류가 발생함

사용자 연결 중에 mysql 서비스를 다시 시작하면 서비스 오류가 발생함

my.ini를 통해 문자 세트를 utf8로 변경했으며 서비스를 다시 시작하는 동안 다른 터미널 세션에서 사용자 로그인을 잊어버렸습니다.

처음에 systemd는 서비스가 실행되는 동안 서비스를 중지하는 문제를 보고했습니다. systemd를 통해 시스템을 다시 시작한 후에는 서비스를 더 이상 시작할 수 없습니다.

$ sudo service mysql status
● mysql.service - MySQL Community Server
   Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
   Active: activating (start-post) (Result: exit-code)
  Process: 2750 ExecStart=/usr/sbin/mysqld (code=exited, status=1/FAILURE)
  Process: 2747 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exited, status=0/SUCCESS)
 Main PID: 2750 (code=exited, status=1/FAILURE);         : 2751 (mysql-systemd-s)
    Tasks: 2 (limit: 512)
   CGroup: /system.slice/mysql.service
           └─control
             ├─2751 /bin/bash /usr/share/mysql/mysql-systemd-start post
             └─2838 sleep 1
systemd[1]: Starting MySQL Community Server...
systemd[1]: mysql.service: Main process exited, code=exited, status=1/FAILURE

이것은 systemd가 보고한 서비스의 현재 상태입니다.

또한 서비스를 시작하려고 하면 다음과 같습니다.

$ sudo systemctl start mysql.service

나 하나 있어실패하다아래와 같이 분석합니다 journalctl.

$ journalctl -xe

-- Unit mysql.service has begun starting up.
 pam_unix(sudo:session): session closed for user root
    user : TTY=pts/0 ; PWD=/var/log/mysql ; USER=root ; COMMAND=/bin/systemctl start mysql.service
 pam_unix(sudo:session): session opened for user root by user(uid=0)
 mysql.service: Main process exited, code=exited, status=1/FAILURE
 pam_unix(cron:session): session opened for user root by (uid=0)
 (root) CMD (  [ -x /usr/lib/php/sessionclean ] && /usr/lib/php/sessionclean)
 pam_unix(cron:session): session closed for user root
 Failed to start MySQL Community Server.
-- Subject: Unit mysql.service has failed
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
...

이는 인증 모듈과 관련이 있음을 나타냅니다 pam.
그런데 어떻게 처리해야 할지 모르겠어요...

답변1



sudo mysql -uroot -p
비밀번호:******를 사용하여 루트로 로그인한
다음
mysql>exit를 종료하면

서비스가 작동하기 시작하고 정상적으로 다시 시작되어 문제가 마침내 해결되었습니다.

이 서비스가 있는 것 같습니다.좀비 상태! 으로 보고되었지만실행되지 않음systemd루트로 로그인하여 show databases;명령을 실행할 수 있고 매력적으로 작동하기 때문에 실제로 작동하고 있습니다 !

참으로 매우 이상한 질문입니다! 그런데, sudo다른 모든 사용자가 클라이언트 및 해당 자격 증명에 대한 간단한 호출로 로그인하는 동안 데이터베이스에서 로그인을 사용해야 하는 이유를 아는 사람이 있는 경우 . 이유를 알고 싶습니다! Linux 사용자와 사용자 사이에는 제가 전혀 이해하지 못했던 이상한 관계가 있는 것 같습니다.rootmysqlmysql

관련 정보