Po szybkiej aktualizacji systemu wraz z bazą do wersji MySQL 5.1.47
pojawił się problem z uruchomieniem demona MariaDB.

Błąd wygląda następująco:


xxxxxx 19:33:41 mysqld_safe Starting mysqld daemon with databases from /srv/base/sql
xxxxxx 19:33:42 [ERROR] Can't find messagefile '/share/mysql/english/errmsg.sys'
xxxxxx 19:33:42 [Note] PrimeBase XT (PBXT) Engine 1.0.09g RC loaded...
xxxxxx 19:33:42 [Note] Paul McCullagh, PrimeBase Technologies GmbH, http://www.primebase.org
InnoDB: The InnoDB memory heap is disabled
InnoDB: Mutexes and rw_locks use GCC atomic builtins
xxxxxx 19:33:42  InnoDB: highest supported file format is Barracuda.
xxxxxx 19:33:42 InnoDB Plugin 1.0.6-9 started; log sequence number 44244
xxxxxx 19:33:42 [ERROR] Aborting

xxxxxx 19:33:42  InnoDB: Starting shutdown...
xxxxxx 19:33:54  InnoDB: Shutdown completed; log sequence number 44268
xxxxxx 19:33:54 [Note] PrimeBase XT Engine shutdown...
xxxxxx 19:33:54 [Note]
xxxxxx 19:33:54 mysqld_safe mysqld from pid file /srv/base/sql/mariadb.pid ended

Szybkie rozwiązanie problemu.
Edytujemy skrypt startowy mariadb lub mysqld (w arch linux jest w /etc/rc.d/mariadb lub /etc/rc.d/mysqld )


#!/bin/bash

MYSQLD_ROOT="/home/base/sql"
# source application-specific settings
[ -f /etc/conf.d/mysqld ] && . /etc/conf.d/mysqld

# general config
. /etc/rc.conf
. /etc/rc.d/functions

getPID() {
   echo $(pgrep -u mysql mysqld);
}

case "$1" in
  start)
    stat_busy "Starting MariaDB"
    if [ -z "$(getPID)" ]; then
       /opt/MariaDB/bin/mysqld_safe --datadir=$MYSQLD_ROOT --ledir=/opt/MariaDB/bin &>/dev/null &
      if [ $? -gt 0 ]; then
        stat_fail
        exit 1
      else
     ...


Dodajemy do wywołania mysqld_safe ściezkę do pliku z błędami.
W moim przypadku jest w:
/opt/MariaDB/share/mysql/english
lub w mysql-u:
/usr/share/mysql/english


#!/bin/bash

MYSQLD_ROOT="/home/base/sql"
# source application-specific settings
[ -f /etc/conf.d/mysqld ] && . /etc/conf.d/mysqld

# general config
. /etc/rc.conf
. /etc/rc.d/functions

getPID() {
   echo $(pgrep -u mysql mysqld);
}

case "$1" in
 start)
  stat_busy "Starting MariaDB"
  if [ -z "$(getPID)" ]; then
   /opt/MariaDB/bin/mysqld_safe --language=/opt/MariaDB/share/mysql/english
                --datadir=$MYSQLD_ROOT --ledir=/opt/MariaDB/bin &>/dev/null &
   if [ $? -gt 0 ]; then
     stat_fail
     exit 1
    else
   ...

Gotowe !
Serwer wstaje bez problemu.

Odpowiedz
Nick: 
Email: 
WWW: 
Treśą: