Falha ao iniciar servidor de banco de dados MariaDB

2

Como a partição / é apenas 50G e meus dados são maiores que isso. E há 500G de espaço em /home . Então, eu movo todos os dados do MySQL para /home . A seguir estão os meus passos (abaixo de root account):

  1. exclame o MySQL

    # mysql -u root -p shutdown

  2. crie o diretório data .

    # cd /home/ && mkdir data

  3. mova o diretório /var/lib/mysql para /home/data

    # mv /var/lib/mysql /home/data/

  4. edite my.cnf e /usr/lib64/mysql/mysql_config

    altere socket=/var/lib/mysql/mysql.sock para socket=/home/data/mysql/mysql.sock

    adicione datadir=/home/data/mysql apenas em my.cnf em [mysqldb] seção

  5. ln -s

    primeiro criei um diretório chamado mysql in /var/lib/ . E chown mysql:mysql /var/lib/mysql criar link: ln -s /home/data/mysql/mysql.sock /var/lib/mysql/mysql.sock

  6. altere o proprietário de /home/data/mysql

    chown -R mysql:mysql /home/data/mysql/

  7. inicie o serviço MySQL

    # systemctl start mariadb.service

Mas, isso começou com falha.

[root@localhost]~# systemctl start mariadb.service                               
Job for mariadb.service failed because the control process exited with error code. See "systemctl status mariadb.service" and "journalctl -xe" for details.

E a mensagem detalhada é:

[root@localhost]~# 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 Thu 2016-04-21 19:51:13 HKT; 39s ago
  Process: 7144 ExecStartPost=/usr/libexec/mariadb-wait-ready $MAINPID (code=exited, status=1/FAILURE)
  Process: 7143 ExecStart=/usr/bin/mysqld_safe --basedir=/usr (code=exited, status=0/SUCCESS)
  Process: 7090 ExecStartPre=/usr/libexec/mariadb-prepare-db-dir %n (code=exited, status=0/SUCCESS)
 Main PID: 7143 (code=exited, status=0/SUCCESS)

Apr 21 19:51:12 localhost.localdomain systemd[1]: Starting MariaDB database server...
Apr 21 19:51:12 localhost.localdomain mysqld_safe[7143]: 160421 19:51:12 mysqld_safe Logging to '/home/data/mysql/localhost.localdomain.err'.
Apr 21 19:51:12 localhost.localdomain mysqld_safe[7143]: 160421 19:51:12 mysqld_safe Starting mysqld daemon with databases from /home/data/mysql
Apr 21 19:51:12 localhost.localdomain mysqld_safe[7143]: 160421 19:51:12 mysqld_safe mysqld from pid file /home/data/mysql/localhost.localdomain.pid ended
Apr 21 19:51:13 localhost.localdomain systemd[1]: mariadb.service: control process exited, code=exited status=1
Apr 21 19:51:13 localhost.localdomain systemd[1]: Failed to start MariaDB database server.
Apr 21 19:51:13 localhost.localdomain systemd[1]: Unit mariadb.service entered failed state.
Apr 21 19:51:13 localhost.localdomain systemd[1]: mariadb.service failed.

[root@localhost]~# journalctl -xe
-- The start-up result is done.
Apr 21 19:50:01 localhost.localdomain systemd[1]: Starting Session 7 of user root.
-- Subject: Unit session-7.scope has begun start-up
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- Unit session-7.scope has begun starting up.
Apr 21 19:50:01 localhost.localdomain CROND[6971]: (root) CMD (/usr/lib64/sa/sa1 1 1)
Apr 21 19:51:12 localhost.localdomain polkitd[900]: Registered Authentication Agent for unix-process:7084:268964 (system bus name :1.80 [/usr/bin/pkttyagent 
Apr 21 19:51:12 localhost.localdomain systemd[1]: Starting MariaDB database server...
-- Subject: Unit mariadb.service has begun start-up
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- Unit mariadb.service has begun starting up.
Apr 21 19:51:12 localhost.localdomain mysqld_safe[7143]: 160421 19:51:12 mysqld_safe Logging to '/home/data/mysql/localhost.localdomain.err'.
Apr 21 19:51:12 localhost.localdomain mysqld_safe[7143]: 160421 19:51:12 mysqld_safe Starting mysqld daemon with databases from /home/data/mysql
Apr 21 19:51:12 localhost.localdomain mysqld_safe[7143]: 160421 19:51:12 mysqld_safe mysqld from pid file /home/data/mysql/localhost.localdomain.pid ended
Apr 21 19:51:13 localhost.localdomain systemd[1]: mariadb.service: control process exited, code=exited status=1
Apr 21 19:51:13 localhost.localdomain systemd[1]: Failed to start MariaDB database server.
-- Subject: Unit mariadb.service has failed
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- Unit mariadb.service has failed.
-- 
-- The result is failed.
Apr 21 19:51:13 localhost.localdomain systemd[1]: Unit mariadb.service entered failed state.
Apr 21 19:51:13 localhost.localdomain systemd[1]: mariadb.service failed.
Apr 21 19:51:13 localhost.localdomain polkitd[900]: Unregistered Authentication Agent for unix-process:7084:268964 (system bus name :1.80, object path /org/f
lines 3132-3161/3161 (END)

Meu sistema operacional é CentOS 7 , o MySQL é MariaDB .

Como consertar isso? Obrigado!

    
por GoingMyWay 21.04.2016 / 13:54

1 resposta

1

Assista ao seu / var / log / messages enquanto você tenta iniciá-lo. Você pode encontrar o SELinux atrapalhando:

tail -f /var/log/messages

Tente deixar o MariaDB no local esperado / var / lib / mysql. As opções incluem:

1) Se o desempenho é importante: reduza o sistema de arquivos e a partição (ou volume lógico) em / home, crie uma nova partição e monte-a em / var / lib / mysql

2) Se o desempenho for menos crítico: Crie um arquivo grande em /home/mysql.img e use esse arquivo via losetup como / dev / loop0 e monte em / var / lib / mysql.

3) Se o desempenho realmente não importa: faça o losetup em um grande arquivo esparso, e passe "descarte" para o seu sistema de arquivos ext4 para manter o arquivo esparso.

    
por 22.04.2016 / 09:27