MySQL (MariaDB) no se inicia

15

Estoy ejecutando Arch Linux 4.8.4-1 en una instalación de 64 bits. Instalé MariaDB a través de pacman. Cuando trato de comenzar systemctl start mysqld, me da

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

La salida de systemctl status mariadb.servicees

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

Si necesito publicar algo más, avíseme ...

ACTUALIZACIÓN: Después de probar el comentario de Jérémy Munoz, mysql todavía no se inicia, pero obtengo un mensaje diferentesystemctl 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'.

ACTUALIZACIÓN: después de ejecutar mysql_install_db, me sale este error:

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
fuente
Parece que le faltan permisos para / var / lib / mysql /
Andrew Smith el
¿Qué permisos debo establecer?
Pranav Nutalapati
chown -R mysql. / var / lib / mysql /
Jérémy Munoz
@ JérémyMunoz Probé tu solución. Aún no comienza. Actualicé la pregunta con el nuevo error.
Pranav Nutalapati
Muestre su configuración mysql / mariadb del archivo /etc/mysql/my.cnf.
Mikhail Khirgiy

Respuestas:

20

Si no tiene datos reales en su base de datos, borre todo /var/lib/mysql.

Después de eso, intente nuevamente ejecutar el comando mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysqlpara inicializar el directorio de la base de datos.

Mikhail Khirgiy
fuente
¿Cuál es la metodología de esta respuesta?
kittygirl
¿Hay algo más que probar si esto no funciona?
moeiscool
@kittygirl Hola, el objetivo de esto es recrear la estructura de datos de MySQL, ya sea porque se estropeó o porque no existía. O al menos, así es como lo entiendo.
Pranav Nutalapati
5

Debe ejecutar mysql_install_dbpara inicializar el directorio de datos MySQL.

Tero Kilkanen
fuente
1

Tuve el mismo problema en Ubuntu 18.04m, los paquetes registrados parecen no poder iniciarse o de lo contrario ...

Resolví agregando la lista correcta de paquetes y la firma de este sitio .

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

Christian Audebert
fuente
Hmm, eso es interesante ... ¿Entonces tuvo un problema con la instalación? ¿Linux pensó que estaba instalado cuando realmente no lo estaba? Eso es realmente extraño ... Para mí, lo que terminó sucediendo fue que mi proceso de configuración no se completó, así que tuve que hacer la mysql_install_dbcosa manualmente .
Pranav Nutalapati
esto funcionó para mí
Sairaj Gadekar
0

Frente El mismo problema se resolvió después de seguir los pasos a continuación Desinstalar los paquetes mariadb maridb-server Se eliminó el directorio / var / lib / mysql. Reinstaló los paquetes Mariadb, Mariadb-server. systemct start mariadb; systemctl enable mariadb (problema resuelto).

ragul rangarajan
fuente