Ubuntu 15.10에서 MariaDB 10.0.23-0을 LAMP 서버로 실행하고 있습니다. 실행 sudo /etc/init.d/mysql start
결과 :
Job for mariadb.service failed because a timeout was exceeded. See "systemctl status mariadb.service" and "journalctl -xe" for details.
출력 systemctl status mariadb.service
은 다음과 같습니다.
● mariadb.service-MariaDB 데이터베이스 서버 로드 됨 :로드 됨 (/lib/systemd/system/mariadb.service; 사용; 공급 업체 사전 설정 : 사용) 드롭 인 : /etc/systemd/system/mariadb.service.d └─migration-from-my.cnf-settings.conf 활성 : 실패 (결과 : 시간 초과) Sat 2016-03-26 22:52:42 EDT 이후; 26 초 전 프로세스 : 8707 ExecStart = / usr / sbin / mysqld $ MYSQLD_OPTS $ _WSREP_NEW_CLUSTER (코드 = 종료, 상태 = 0 / SUCCESS) 프로세스 : 8706 ExecStartPre = / usr / bin / install -m 755 -o mysql -g root -d / var / run / mysqld (code = exited, status = 0 / SUCCESS) 메인 PID : 8707 (코드 = 종료, 상태 = 0 / 성공) 3 월 26 일 22:52:39 boggan systemd [1] : mariadb.service : 시작 작업 시간이 초과되었습니다. 종료. 3 월 26 일 22:52:39 boggan mysqld [8707] : 2016-03-26 22:52:39 140105856617216 [참고] / usr / sbin / mysqld : 정상 종료 3 월 26 일 22:52:39 boggan mysqld [8707] : 2016-03-26 22:52:39 140105856617216 [참고] 이벤트 스케줄러 : 대기열을 제거합니다. 이벤트 0 개 3 월 26 일 22:52:39 boggan mysqld [8707] : 2016-03-26 22:52:39 140104920164096 [참고] InnoDB : FTS는 스레드 종료를 최적화합니다. 3 월 26 일 22:52:39 boggan mysqld [8707] : 2016-03-26 22:52:39 140105856617216 [참고] InnoDB : 종료 시작 중 ... 3 월 26 일 22:52:42 boggan mysqld [8707] : 2016-03-26 22:52:42 140105856617216 [참고] InnoDB : 종료 완료; 로그 시퀀스 번호 3336953 3 월 26 일 22:52:42 boggan mysqld [8707] : 2016-03-26 22:52:42 140105856617216 [참고] / usr / sbin / mysqld : 종료 완료 3 월 26 일 22:52:42 boggan systemd [1] : MariaDB 데이터베이스 서버를 시작하지 못했습니다. 3 월 26 일 22:52:42 boggan systemd [1] : mariadb.service : 장치가 실패 상태에 들어갔습니다. 3 월 26 일 22:52:42 boggan systemd [1] : mariadb.service : 'timeout'결과로 실패했습니다`
첫 번째 systemd
줄에는 일종의 “웰 듀”가 있습니다. 시간이 초과 된 것을 알고 있습니다. 두 번째 systemd
는 이후 mysqld
이 있기 때문에 선, 비트 신비화입니다 않는 사실 시작에. 데이터베이스에 의존하는 응용 프로그램 (특히 CloudCloud)은 정상적으로 작동합니다. MariaDB가 작동하는 순간에 변경됩니다.
또 다른 질문 은 time /etc/init.d/mysql start
시간이 얼마나 걸리는지를 결정하기 위해 사용 하는 것이 좋습니다 . 시간을 확인하기 위해 반복적으로 실행했습니다. 매번 90 초 양쪽에 몇 초입니다.
다른 연구는 … 게다가, 그것은 좋은입니다 파일 권한을 확인하기 위해 저를 이끌어 않는 일시적으로 시작합니다. 나는 (리눅스에 관해서는 제한되어 있음) 최선의 능력을 찌르고 자극했으며, 아무런 진전도 없었습니다.
질문은 … MariaDB 서비스를 어떻게 유지합니까?
여분의 주름으로,이 질문을 쓴 후에, 나는 기계를 가동시켜 두었습니다. 나는 일주일 후에 다시 돌아 왔습니다 (나는 그것을 만지지 않았습니다). 똑같은 명령을 사용하여 sudo /etc/init.d/mysql start
성공했습니다. mysql 데몬이 시작되어 실행되었습니다. [ ok ]
보고서 와 함께 돌아 왔습니다 . 실험을 위해 다시 부팅 한 후 다시 시작했습니다.
중요한 경우 출력 journalctl -xe
은 다음과 같습니다.
4 월 02 일 23:51:44 boggan systemd [1] : 중지됨 필요한 파일을 미리 읽습니다. -주제 : 유닛 우레아 헤드 서비스 종료 -정의 기준 : systemd -지원 : http://lists.freedesktop.org/mailman/listinfo/systemd-devel - -장치 ureadahead.service의 종료가 완료되었습니다. 4 월 02 일 23:51:55 boggan mysqld [2645] : 2016-04-02 23:51:55 140386161068800 [참고] InnoDB : 온라인 DDL : 시작 4 월 02 일 23:51:55 boggan mysqld [2645] : 2016-04-02 23:51:55 140386161068800 [참고] InnoDB : 온라인 DDL : 테이블의 클러스터 된 인덱스 읽기 시작 및 임시 파일 만들기 4 월 02 일 23:51:55 boggan mysqld [2645] : 2016-04-02 23:51:55 140386161068800 [참고] InnoDB : 온라인 DDL : 테이블의 클러스터 된 인덱스 읽기 종료 및 임시 파일 생성 4 월 02 일 23:51:55 boggan mysqld [2645] : 2016-04-02 23:51:55 140386161068800 [참고] InnoDB : 온라인 DDL : 완료 4 월 02 일 23:51:55 boggan mysqld [2645] : 2016-04-02 23:51:55 140386161068800 [참고] InnoDB : 온라인 DDL : 완료 4 월 02 일 23:52:06 boggan dbus [713] : [system] 'org.bluez'서비스 활성화 실패 : 시간 초과 4 월 02 일 23:52:37 boggan systemd [1] : mariadb.service : 시작 작업 시간이 초과되었습니다. 종료. 4 월 02 일 23:52:37 boggan mysqld [2645] : 2016-04-02 23:52:37 140386097400576 [참고] / usr / sbin / mysqld : 정상 종료 4 월 02 일 23:52:37 boggan 커널 : 감사 : type = 1400 audit (1459655557.935 : 31) : apparmor = "DENIED"operation = "sendmsg"profile = "/ usr / sbin / mysqld"name = "/ run / systemd / notify "pid = 2645 comm ="mysqld "requested_mask ="w "denied_mask ="w "fsuid = 122 ouid = 0 4 월 02 일 23:52:37 boggan audit [2645] : AVC apparmor = "DENIED"operation = "sendmsg"profile = "/ usr / sbin / mysqld"name = "/ run / systemd / notify"pid = 2645 comm = " mysqld "requested_mask ="w "denied_mask ="w "fsuid = 122 ouid = 0 4 월 02 일 23:52:37 boggan mysqld [2645] : 2016-04-02 23:52:37 140386097400576 [참고] 이벤트 스케줄러 : 대기열을 제거합니다. 이벤트 0 개 4 월 02 일 23:52:37 boggan mysqld [2645] : 2016-04-02 23:52:37 140385225500416 [참고] InnoDB : FTS는 스레드 종료를 최적화합니다. 4 월 02 일 23:52:37 boggan mysqld [2645] : 2016-04-02 23:52:37 140386097400576 [참고] InnoDB : 시스템 종료 중 ... 4 월 02 일 23:52:39 boggan mysqld [2645] : 2016-04-02 23:52:39 140386097400576 [참고] InnoDB : 종료 완료; 로그 시퀀스 번호 3360838 4 월 02 일 23:52:39 boggan mysqld [2645] : 2016-04-02 23:52:39 140386097400576 [참고] / usr / sbin / mysqld : 종료 완료 4 월 02 일 23:52:39 boggan 커널 : 감사 : type = 1400 audit (1459655559.419 : 32) : apparmor = "DENIED"operation = "sendmsg"profile = "/ usr / sbin / mysqld"name = "/ run / systemd / notify "pid = 2877 comm ="mysqld "requested_mask ="w "denied_mask ="w "fsuid = 122 ouid = 0 4 월 02 일 23:52:39 boggan audit [2877] : AVC apparmor = "DENIED"operation = "sendmsg"profile = "/ usr / sbin / mysqld"name = "/ run / systemd / notify"pid = 2877 comm = " mysqld "requested_mask ="w "denied_mask ="w "fsuid = 122 ouid = 0 4 월 02 일 23:52:39 boggan audit [2645] : AVC apparmor = "DENIED"operation = "sendmsg"profile = "/ usr / sbin / mysqld"name = "/ run / systemd / notify"pid = 2645 comm = " mysqld "requested_mask ="w "denied_mask ="w "fsuid = 122 ouid = 0 4 월 02 일 23:52:39 boggan 커널 : 감사 : type = 1400 audit (1459655559.419 : 33) : apparmor = "DENIED"operation = "sendmsg"profile = "/ usr / sbin / mysqld"name = "/ run / systemd / notify "pid = 2645 comm ="mysqld "requested_mask ="w "denied_mask ="w "fsuid = 122 ouid = 0 4 월 02 일 23:52:39 boggan systemd [1] : MariaDB 데이터베이스 서버를 시작하지 못했습니다. -주제 : unit mariadb.service failed -정의 기준 : systemd -지원 : http://lists.freedesktop.org/mailman/listinfo/systemd-devel - -유닛 mariadb.service가 실패했습니다. - -결과가 실패합니다. 4 월 02 일 23:52:39 boggan systemd [1] : mariadb.service : 장치가 실패 상태가되었습니다. 4 월 02 일 23:52:39 boggan systemd [1] : mariadb.service : 'timeout'결과로 실패했습니다.
답변
mysql에서 mariadb로 업그레이드 한 후에도 똑같은 문제가있었습니다. 이상한 점은 서비스 mysql 시작이 성공한 동안 서비스 mariadb 시작이 시간 초과 (시스템 부팅 또는 수동)에서 실패한다는 것입니다.
TJL 의 설명 은 옳지 만 수정은 효과가 없었습니다.
$ sudo aa-complain /usr/sbin/mysqld
Setting /usr/sbin/mysqld to complain mode.
ERROR: /etc/apparmor.d/usr.sbin.mysqld contains no profile
그래서 프로필을 비활성화했습니다 ( plutocrat 의 솔루션 과 동등한 것으로 보이는 aa-disable )
$ sudo aa-disable /usr/sbin/mysqld
Disabling /usr/sbin/mysqld.
mysqld-akonadi 및 mysqld-digikam도 비활성화했습니다.
의류 재 장전이 충분하지 않아서 재부팅해야 했고 mariadb가 완벽하게 시작되었습니다.
답변
복장은 범인이었습니다. /etc/apparmor.d/usr.sbin.mysqld
아무 말도하지 않고 내용이 있다고 주장 함에도 불구하고 Apparmor가 MariaDB에 질식하지 않을 것이라는 주장이 있었지만, 그것은 정확히 일어난 일입니다.
Oracle 블로그의 AppArmor 및 MySQL 은 진행 상황을 파악하는 데 필요한 것을 제공했습니다.
sudo aa-status
의류가 무엇을하고 있는지 보여줍니다. 실제로 시행되는 정책과 방금 설정 한 사항.
sudo apt-get install apparmor-utils
의류 프로필을보다 쉽게 처리 할 수있는 몇 가지 명령을 추가합니다.
sudo aa-complain /usr/sbin/mysqld
불만을 제기하기 위해 “강제”에서 프로필을 전환합니다. ( aa-enforce
다시 돌립니다.)
완료되면 sudo service apparmor reload
의류가 다시 시작되고 voila …가 sudo /etc/init.d/mysql start
작동하고 서버가 계속 작동합니다.
답변
의류에서 mysql을 완전히 비활성화해야했습니다. aa 불평은 나를 위해 아무것도하지 않을 것입니다. 그래서 …
ln -s /etc/apparmor.d/usr.sbin.mysqld /etc/apparmor.d/disable/
그런 다음 재부팅
답변
간단한 해결책은 알 수없는 AppArmor 프로파일을 제거하는 것입니다.
aa-remove-unknown
Removing '/snap/core/6350/usr/lib/snapd/snap-confine'
Removing '/usr/sbin/mysqld'
작동합니다!