MySQL (MariaDB) nie uruchamia się [zamknięte]

15

Używam Arch Linux 4.8.4-1 na 64-bitowej instalacji. Zainstalowałem MariaDB przez pacman. Kiedy próbuję zacząć systemctl start mysqld, daje mi to

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

Dane wyjściowe systemctl status mariadb.serviceto

● 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'.

Jeśli muszę coś jeszcze opublikować, daj mi znać ...

AKTUALIZACJA: Po wypróbowaniu komentarza Jérémy'ego Munoza mysql wciąż się nie uruchamia, ale dostaję innysystemctl 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'.

AKTUALIZACJA: Po uruchomieniu mysql_install_dbpojawia się ten błąd:

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

Pranav Nutalapati
źródło
Wygląda na to, że brakuje Ci uprawnień do / var / lib / mysql /
Andrew Smith,
Które uprawnienia powinienem ustawić?
Pranav Nutalapati
chown -R mysql. / var / lib / mysql /
Jérémy Munoz
@ JérémyMunoz Wypróbowałem twoje rozwiązanie. Nadal się nie zaczyna. Zaktualizowałem pytanie o nowy błąd.
Pranav Nutalapati
Pokaż swoją konfigurację mysql / mariadb z pliku /etc/mysql/my.cnf.
Michaił Chirgij

Odpowiedzi:

20

Jeśli nie masz żadnych rzeczywistych danych w bazie danych, wyczyść wszystko /var/lib/mysql.

Następnie spróbuj ponownie uruchomić polecenie, mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysqlaby zainicjować katalog bazy danych.

Michaił Chirgij
źródło
jaka jest metodologia tej odpowiedzi?
kittygirl
czy jest coś jeszcze do wypróbowania, jeśli to nie działa?
moeiscool
@kittygirl Cześć, celem tego jest odtworzenie struktury danych MySQL, albo dlatego, że został pomieszany, albo dlatego, że nie istniał. A przynajmniej tak to rozumiem.
Pranav Nutalapati
5

Musisz uruchomić, mysql_install_dbaby zainicjować katalog danych MySQL.

Tero Kilkanen
źródło
1

Miałem ten sam problem z zarejestrowanymi pakietami Ubuntu 18.04m wydaje się, że nie można uruchomić, bo inaczej ...

Rozwiązałem problem, dodając poprawną listę paczek i podpis z tej witryny .

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

zrobione..

Christian Audebert
źródło
Hmm, to interesujące ... Więc na początku miałeś problem z instalacją? Linux myślał, że został zainstalowany, kiedy tak naprawdę nie był? To naprawdę dziwne ... Dla mnie to, co się ostatecznie wydarzyło, polegało na tym, że proces konfiguracji nie został zakończony, więc musiałem to zrobić ręcznie mysql_install_db.
Pranav Nutalapati
to zadziałało dla mnie
Sairaj Gadekar,
1

W obliczu tego samego problemu. Ten problem został rozwiązany po wykonaniu poniższych kroków:

  1. Odinstalowano pakiety mariadb maridb-server
  2. Usunięto katalog / var / lib / mysql.
  3. Ponownie zainstalowano pakiety Mariadb, Mariadb-server.
  4. systemct start mariadb; systemctl enable mariadb

(problem rozwiązany).

Ragul Rangarajan
źródło
0
cd /var/lib/mysql
ls
rm -r *
mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql
systemctl start mysqld
systemctl start mysql.service
systemctl start mariadb
mysql

To działa dobrze

Chopin
źródło
0

Jeśli mogę pomóc osobom, które nie rozwiązały problemu z powyższymi rozwiązaniami:

Miałem również ten problem i wynikał on ze złej konfiguracji w pliku konfiguracyjnym w tym repertuarze: / etc / apache2 / sites-available /

Sprawdź pliki konfiguracyjne, aby sprawdzić, czy nie ma błędu skryptu.

AlexKidd
źródło
Jak dokładnie błędna konfiguracja w Apache spowoduje, że MariaDB nie będzie mogła się uruchomić?
womble