centos mysqld가 시작되지 않으면 어떻게 해야 할까요?

藏色散人
풀어 주다: 2022-01-28 11:08:07
원래의
3972명이 탐색했습니다.

centos mysqld 시작 실패에 대한 해결 방법: 1. 서비스 로그를 확인합니다. 2. "/var/run/mysqld/"의 소유자 및 그룹을 수정합니다.

centos mysqld가 시작되지 않으면 어떻게 해야 할까요?

이 기사의 운영 환경: CentOS 7 시스템, DELL G3 컴퓨터

centos mysqld가 시작되지 않으면 어떻게 해야 합니까?

오늘 아래와 같이 MySQL 서버 시작에 실패했습니다.

[root@spark01 ~]# /etc/init.d/mysqld start
Starting mysqld (via systemctl):  Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -xe" for details.
                                                           [FAILED]
로그인 후 복사

프롬프트에 따라 각각 systemctl을 사용하고 status mysqld.service 및 Journalctl -xe를 사용하여 서비스 시작 실패 원인을 확인하세요

[root@spark01 ~]# systemctl status mysqld.service
로그인 후 복사
?.mysqld.service - SYSV: MySQL database server.
   Loaded: loaded (/etc/rc.d/init.d/mysqld)
   Active: failed (Result: exit-code) since Wed 2016-01-20 18:26:57 CST; 40s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 2979 ExecStart=/etc/rc.d/init.d/mysqld start (code=exited, status=1/FAILURE)
Jan 20 18:26:56 spark01 systemd[1]: Starting SYSV: MySQL database server....
Jan 20 18:26:57 spark01 mysqld[2979]: MySQL Daemon failed to start.
Jan 20 18:26:57 spark01 mysqld[2979]: Starting mysqld:  [FAILED]
Jan 20 18:26:57 spark01 systemd[1]: mysqld.service: control process exited, code=exited status=1
Jan 20 18:26:57 spark01 systemd[1]: Failed to start SYSV: MySQL database server..
Jan 20 18:26:57 spark01 systemd[1]: Unit mysqld.service entered failed state.
Jan 20 18:26:57 spark01 systemd[1]: mysqld.service failed.
로그인 후 복사
[root@spark01 ~]# journalctl -xe
로그인 후 복사
-- 
-- Unit session-2.scope has begun starting up.
Jan 20 18:26:48 spark01 sshd[2916]: pam_unix(sshd:session): session opened for user spark by (uid=0)
Jan 20 18:26:52 spark01 su[2944]: (to root) spark on pts/1
Jan 20 18:26:52 spark01 su[2944]: pam_unix(su-l:session): session opened for user root by spark(uid=1000)
Jan 20 18:26:56 spark01 polkitd[909]: Registered Authentication Agent for unix-process:2974:117137 (system bus name :1.25
Jan 20 18:26:56 spark01 systemd[1]: Starting SYSV: MySQL database server....
-- Subject: Unit mysqld.service has begun start-up
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- Unit mysqld.service has begun starting up.
Jan 20 18:26:57 spark01 mysqld[2979]: MySQL Daemon failed to start.
Jan 20 18:26:57 spark01 mysqld[2979]: Starting mysqld:  [FAILED]
Jan 20 18:26:57 spark01 systemd[1]: mysqld.service: control process exited, code=exited status=1
Jan 20 18:26:57 spark01 systemd[1]: Failed to start SYSV: MySQL database server..
-- Subject: Unit mysqld.service has failed
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- Unit mysqld.service has failed.
-- 
-- The result is failed.
Jan 20 18:26:57 spark01 systemd[1]: Unit mysqld.service entered failed state.
Jan 20 18:26:57 spark01 systemd[1]: mysqld.service failed.
Jan 20 18:26:57 spark01 polkitd[909]: Unregistered Authentication Agent for unix-process:2974:117137 (system bus name :1.
로그인 후 복사

그러나 안타깝게도 이 정보는 서비스 시작 실패의 실제 원인을 제공하지 않습니다.

이때 MySQL 알람 로그를 열 수도 있습니다. 결국 MySQL 서비스가 시작되는 한 알람 로그는 정보를 출력합니다. 물론입니다.

2016-01-20T10:00:19.935771Z 0 [ERROR] /usr/sbin/mysqld: Can't create/write to file '/var/run/mysqld/mysqld.pid' (Errcode: 2 - No such file or directory)
2016-01-20T10:00:19.935795Z 0 [ERROR] Can't start server: can't create PID file: No such file or directory
160120 18:00:20 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended
로그인 후 복사

MySQL 서비스는 pid 파일을 생성할 수 없습니다. 시작됩니다.

디렉토리가 존재하는지 터미널에서 확인하세요. 당연히 디렉토리가 존재하지 않습니다.

그래서 /var/run/mysqld/ 디렉터리를 생성하고 MySQL 서비스를 다시 시작했습니다

[root@spark01 ~]# mkdir -p /var/run/mysqld/
[root@spark01 ~]# /etc/init.d/mysqld start
Starting mysqld (via systemctl):  Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -xe" for details.
                                                           [FAILED]
로그인 후 복사

오류가 계속 발생했습니다. 알람 로그를 다시 확인해보니 다음과 같은 결과가 나왔습니다

2016-01-20T10:28:37.183387Z 0 [ERROR] /usr/sbin/mysqld: Can't create/write to file '/var/run/mysqld/mysqld.pid' (Errcode: 13 - Permission denied)
2016-01-20T10:28:37.183431Z 0 [ERROR] Can't start server: can't create PID file: Permission denied
160120 18:28:37 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended
160120 18:32:06 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
로그인 후 복사

소유자와 그룹이 /var/run/mysqld/ 여전히 루트이므로 mysql이 파일을 생성할 수 없습니다. 그런 다음 디렉터리의 소유자와 그룹을 수정하고 OK를 시작합니다.

[root@spark01 ~]# ls -ld /var/run/mysqld/
drwxr-xr-x 2 root root 40 Jan 20 18:28 /var/run/mysqld/
[root@spark01 ~]# chown mysql.mysql /var/run/mysqld/
[root@spark01 ~]# /etc/init.d/mysqld start
Starting mysqld (via systemctl):                           [  OK  ]
로그인 후 복사

요약:

쿠버네티스를 사용하다 보면, systemctl 프롬프트에 따라 서비스 시작 실패 이유를 systemctl status mysqld.service 및 Journalctl을 통해 자주 확인하곤 했습니다. -xe 명령이 만족스럽지 않지만 시스템과 관련된 것으로 생각하여 잘못된 힌트를 제공했습니다. 실제로 서비스 로그를 확인해보면 서비스 시작에 실패한 이유를 더 명확하게 알 수 있는 경우가 많다.

추천: "centos 사용 튜토리얼"

위 내용은 centos mysqld가 시작되지 않으면 어떻게 해야 할까요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿