Debian 9로 업그레이드한 후 MariaDB 데이터베이스 서버를 시작할 수 없습니다

Debian 9로 업그레이드한 후 MariaDB 데이터베이스 서버를 시작할 수 없습니다

Debian 9로 업그레이드한 후 다음을 수행하려고 할 때 이 문제가 발생했습니다 apt-get upgrade. Failed to start MariaDB database server

로그는 다음과 같습니다.

mariadb-server-10.1(10.1.23-9+deb9u1) 설정...
제어 프로세스가 오류 코드와 함께 종료되었기 때문에 mariadb.service 작업이 실패했습니다.
자세한 내용은 "systemctl status mariadb.service" 및 "journalctl -xe"를 참조하세요.
호출-rc.d: initscript mysql, "시작" 작업이 실패했습니다.
● mariadb.service - MariaDB 데이터베이스 서버
   로드됨: 로드됨(/lib/systemd/system/mariadb.service; 활성화됨, 공급업체 기본값: 활성화됨)
   활동: 2017년 7월 5일 수요일 15:44:03 CEST 이후 실패했습니다(결과: 종료 코드).
  프로세스: 9713 ExecStart=/usr/sbin/mysqld $MYSQLD_OPTS $_WSREP_NEW_CLUSTER $_WSREP_START_POSITION(코드=종료, 상태=1/FAILURE)
  프로세스: 9623 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= || VAR=`/usr/bin/galera_recovery` [ $? =$VAR ||종료 1(코드=종료, 상태=0/성공)
  프로세스: 9619 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION(코드=종료, 상태=0/SUCCESS)
  프로세스: 9616 ExecStartPre=/usr/bin/install -m 755 -o mysql -g root -d /var/run/mysqld (코드=종료, 상태=0/SUCCESS)
 마스터 PID: 9713(코드=종료, 상태=1/FAILURE)
   상태: "MariaDB 서버가 다운되었습니다"

7월 5일 15:43:59 v22015121382329682 systemd[1]: MariaDB 데이터베이스 서버를 시작하는 중...
Jul 05 15:44:00 v22015121382329682 mysqld[9713]: 2017-07-05 15:44:00 140711653892672 [참고] /usr/sbin/mysqld (mysqld 10.1.23-MariaDB-9+deb9u1) 프로세스 97 13 시작 . ..
7월 5일 15:44:03 v22015121382329682 systemd[1]: mariadb.service: 기본 프로세스가 종료됨, 코드=종료, 상태=1/FAILURE
Jul 05 15:44:03 v22015121382329682 systemd[1]: MariaDB 데이터베이스 서버를 시작할 수 없습니다.
Jul 05 15:44:03 v22015121382329682 systemd[1]: mariadb.service: 장치가 실패 상태로 전환되었습니다.
7월 5일 15:44:03 v22015121382329682 systemd[1]: mariadb.service: '종료 코드'로 인해 실패했습니다.
dpkg: mariadb-server-10.1 패키지 처리 중 오류가 발생했습니다(--configure):
 하위 프로세스 설치를 위한 설치 후 스크립트가 오류 종료 상태 1을 반환합니다.
dpkg: 종속성 문제로 인해 default-mysql-server가 구성되지 않습니다.
 default-mysql-server는 mariadb-server-10.1에 따라 다릅니다.
  mariadb-server-10.1 패키지가 아직 구성되지 않았습니다.

dpkg: default-mysql-server 패키지를 처리하는 중 오류가 발생했습니다(--configure):
 종속성 문제 - 구성되지 않음
dpkg: 종속성 문제로 인해 mysql-server를 구성할 수 없습니다.
 mysql-server는 default-mysql-server에 의존합니다.
  default-mysql-server 패키지가 아직 구성되지 않았습니다.

dpkg: mysql-server 패키지 처리 중 오류가 발생했습니다(--configure):
 종속성 문제 - 구성되지 않음
처리하는 동안 오류가 발생했습니다:
 mariadb-서버-10.1
 기본 mysql 서버
 MySQL 서버

이 튜토리얼을 시도했지만 여전히 실패했습니다. https://askubuntu.com/a/697806/672607

이 문제를 어떻게 해결할 수 있나요?

답변1

이 튜토리얼에서는 mysql-server 대신 mariadb-server를 설치해야 합니다. DEBIAN 9 설치에서도 동일한 문제가 발생했습니다. 다음 명령이 저에게 효과적이었습니다.

sudo apt purge 'mysql*'
sudo apt purge 'mariadb*'
sudo apt autoremove
sudo apt autoclean

시스템에 다른 것이 있는지 확인하십시오.

dpkg -l | grep -e mysql -e mariadb 

목록이 비어 있으면 mariadb 서버를 설치합니다.

sudo apt install mariadb-server

이제 데이터베이스 중지 및 시작 상태를 확인해보세요.

설치 후 상태:

sudo systemctl status mysql.service
● mariadb.service - MariaDB database server
   Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2018-03-21 16:08:49 CET; 2min 1s ago
 Main PID: 15699 (mysqld)
   Status: "Taking your SQL requests now..."
   CGroup: /system.slice/mariadb.service
           └─15699 /usr/sbin/mysqld

.../..

PID 확인:

sudo more /var/run/mysqld/mysqld.pid 
15699

데이터베이스를 중지합니다.

sudo systemctl stop mysql.service
sudo systemctl status mysql.service
● mariadb.service - MariaDB database server
   Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
   Active: inactive (dead) since Wed 2018-03-21 16:14:35 CET; 1s ago
 Main PID: 15699 (code=exited, status=0/SUCCESS)
   Status: "MariaDB server is down"

.../...

PID 파일이 존재하지 않는지 확인할 수도 있습니다.

sudo more /var/run/mysqld/mysqld.pid 
more: stat on /var/run/mysqld/mysqld.pid: No file or folder

데이터베이스를 시작합니다.

sudo systemctl start mysql.service
sudo systemctl status mysql.service
● mariadb.service - MariaDB database server
   Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2018-03-21 16:14:54 CET; 3s ago
  Process: 15911 ExecStartPost=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
  Process: 15908 ExecStartPost=/etc/mysql/debian-start (code=exited, status=0/SUCCESS)
  Process: 15791 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= ||   VAR=`/usr/bin/galera_recovery`; [ $? -eq 0 ]   && systemctl set-environment _WSREP_S
  Process: 15787 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
  Process: 15784 ExecStartPre=/usr/bin/install -m 755 -o mysql -g root -d /var/run/mysqld (code=exited, status=0/SUCCESS)
 Main PID: 15881 (mysqld)
   Status: "Taking your SQL requests now..."
    Tasks: 26 (limit: 4915)
   CGroup: /system.slice/mariadb.service
           └─15881 /usr/sbin/mysqld

PID 파일이 있어야 하는 위치를 확인할 수 있습니다. 빈 데이터베이스에 도움이 될 수 있습니다. 데이터베이스에 무언가가 있으면 먼저 백업을 만들어야 합니다.

답변2

노력하다

apt dist-upgrade

또는

apt install aptitude
aptitude install mariadb-server

적성은 매우 강력한 종속성 해결 프로그램을 가지고 있습니다.

관련 정보