MySQL (MariaDB)이 시작되지 않음


15

64 비트 설치에서 Arch Linux 4.8.4-1을 실행하고 있습니다. 를 통해 MariaDB를 설치했습니다 pacman. 나는 그것을 시작하려고하면 systemctl start mysqld, 그것은 나를 준다

Job for mariadb.service failed because the control process exited with error code.
See "systemctl status mariadb.service" and "journalctl -xe" for details.

의 출력 systemctl status mariadb.service

● mariadb.service - MariaDB database server
   Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since Wed 2016-11-02 16:55:12 IST; 3min 6s ago
  Process: 5123 ExecStart=/usr/sbin/mysqld $MYSQLD_OPTS $_WSREP_NEW_CLUSTER $_WSREP_START_POSITION (code=exited, status=1/FAILURE)
  Process: 5070 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= ||   VAR=`/usr/bin/galera_recovery`; [ $? -eq 0 ]   && systemctl set
  Process: 5067 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
 Main PID: 5123 (code=exited, status=1/FAILURE)
   Status: "MariaDB server is down"

Nov 02 16:55:11 pranav-laptop systemd[1]: Starting MariaDB database server...
Nov 02 16:55:12 pranav-laptop mysqld[5123]: 2016-11-02 16:55:12 140082509282496 [Note] /usr/sbin/mysqld (mysqld 10.1.18-MariaDB) starting as process 5
Nov 02 16:55:12 pranav-laptop mysqld[5123]: 2016-11-02 16:55:12 140082509282496 [Warning] Can't create test file /var/lib/mysql/pranav-laptop.lower-te
Nov 02 16:55:12 pranav-laptop mysqld[5123]: [90B blob data]
Nov 02 16:55:12 pranav-laptop systemd[1]: mariadb.service: Main process exited, code=exited, status=1/FAILURE
Nov 02 16:55:12 pranav-laptop systemd[1]: Failed to start MariaDB database server.
Nov 02 16:55:12 pranav-laptop systemd[1]: mariadb.service: Unit entered failed state.
Nov 02 16:55:12 pranav-laptop systemd[1]: mariadb.service: Failed with result 'exit-code'.

다른 것을 게시해야하는 경우 알려주세요 ...

업데이트 : Jérémy Munoz의 의견을 시도한 후에도 mysql이 여전히 시작되지 않지만 다른 결과가 나타납니다.systemctl status mariadb.service

● mariadb.service - MariaDB database server
   Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since Wed 2016-11-02 21:03:24 IST; 4min 7s ago
  Process: 14350 ExecStart=/usr/sbin/mysqld $MYSQLD_OPTS $_WSREP_NEW_CLUSTER $_WSREP_START_POSITION (code=exited, status=1/FAILURE)
  Process: 14296 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= ||   VAR=`/usr/bin/galera_recovery`; [ $? -eq 0 ]   && systemctl se
  Process: 14294 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
 Main PID: 14350 (code=exited, status=1/FAILURE)

Nov 02 21:03:24 pranav-laptop mysqld[14350]: 2016-11-02 21:03:24 140412958252224 [ERROR] Could not open mysql.plugin table. Some plugins may be not lo
Nov 02 21:03:24 pranav-laptop mysqld[14350]: 2016-11-02 21:03:24 140412958235392 [Warning] Failed to load slave replication state from table mysql.gti
Nov 02 21:03:24 pranav-laptop mysqld[14350]: 2016-11-02 21:03:24 140412362684160 [Note] InnoDB: Dumping buffer pool(s) not yet started
Nov 02 21:03:24 pranav-laptop mysqld[14350]: 2016-11-02 21:03:24 140412958252224 [ERROR] Can't open and lock privilege tables: Table 'mysql.servers' d
Nov 02 21:03:24 pranav-laptop mysqld[14350]: 2016-11-02 21:03:24 140412958252224 [Note] Server socket created on IP: '::'.
Nov 02 21:03:24 pranav-laptop mysqld[14350]: 2016-11-02 21:03:24 140412958252224 [ERROR] Fatal error: Can't open and lock privilege tables: Table 'mys
Nov 02 21:03:24 pranav-laptop systemd[1]: mariadb.service: Main process exited, code=exited, status=1/FAILURE
Nov 02 21:03:24 pranav-laptop systemd[1]: Failed to start MariaDB database server.
Nov 02 21:03:24 pranav-laptop systemd[1]: mariadb.service: Unit entered failed state.
Nov 02 21:03:24 pranav-laptop systemd[1]: mariadb.service: Failed with result 'exit-code'.

업데이트 : 을 실행 한 후이 mysql_install_db오류가 발생합니다.

FATAL ERROR: Could not find ./bin/my_print_defaults

If you compiled from source, you need to either run 'make install' to
copy the software into the correct location ready for operation.
If you don't want to do a full install, you can use the --srcddir
option to only install the mysql database and privilege tables

If you are using a binary release, you must either be at the top
level of the extracted archive, or pass the --basedir option
pointing to that location.

The latest information about mysql_install_db is available at
https://mariadb.com/kb/en/installing-system-tables-mysql_install_db

/etc/mysql/my.cnf


/ var / lib / mysql /에 대한 권한이없는 것 같습니다
Andrew Smith

어떤 권한을 설정해야합니까?
Pranav Nutalapati

chown -R mysql. / var / lib / mysql /
Jérémy Munoz

@ JérémyMunoz 나는 당신의 해결책을 시도했습니다. 여전히 시작되지 않습니다. 새로운 오류로 질문을 업데이트했습니다.
Pranav Nutalapati

파일에서 mysql / mariadb 설정을 보여주십시오 /etc/mysql/my.cnf.
Mikhail Khirgiy

답변:


20

데이터베이스에 실제 데이터가없는 경우의 모든 데이터를 지우십시오 /var/lib/mysql.

그런 다음 mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql데이터베이스 디렉토리를 초기화 하는 명령 을 다시 실행하십시오 .


이 답변의 방법론은 무엇입니까?
kittygirl

이것이 작동하지 않으면 시도해야 할 것이 있습니까?
moeiscool 19.25에

@kittygirl 안녕, 이것의 목표는 MySQL의 데이터 구조를 엉망으로 만들거나 존재하지 않았기 때문에 다시 만드는 것입니다. 또는 적어도 그것이 내가 이해하는 방법입니다.
Pranav Nutalapati


1

등록 된 Ubuntu 18.04m 패키지에서 동일한 문제가 발생했습니다.

이 사이트 에서 올바른 패키지 목록과 서명을 추가하여 해결했습니다 .

sudo apt-get install software-properties-common
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
sudo add-apt-repository 'deb [arch=amd64,arm64,ppc64el] http://mariadb.mirrors.ovh.net/MariaDB/repo/10.3/ubuntu bionic main'
sudo apt update
sudo apt install mariadb-server

et voila ..


흠, 그거 흥미로운 데 .. 설치에 문제가 있었나요? 리눅스는 실제로 설치되지 않았을 때 설치되었다고 생각 했습니까? 정말 이상합니다 ... 저에게 일어난 일은 셋업 프로세스가 완료되지 않았기 때문에 수동으로해야했습니다 mysql_install_db.
Pranav Nutalapati

이것은 나를 위해 일했다
Sairaj Gadekar

1

같은 문제에 직면했다. 아래 단계에 따라 해결되었습니다.

  1. mariadb maridb-server 패키지 제거
  2. / var / lib / mysql 디렉토리를 제거했습니다.
  3. Mariadb, Mariadb-server 패키지를 다시 설치했습니다.
  4. systemct start mariadb; systemctl enable mariadb

(문제 해결됨).

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.