CentOS 7 Erro do MariaDB “Falha ao iniciar o mariadb.service: Unidade não encontrada.” [closed]

4

Sou um pouco novo no Linux, testando várias configurações de LAMP no Virtualbox no Windows. Atualmente tenho uma VM do Centos 7 que estou tentando instalar o MariaDB. Estou seguindo as instruções aqui: link

eu corri

# yum install mariadb-server mariadb

A instalação foi bem-sucedida de acordo com a saída do terminal, mas quando eu corro:

 # systemctl start mariadb

Eu obtenho

Failed to start mariadb.service: Unit not found.

Passei algumas horas pesquisando isso, mas nada parece resolver meu problema, incluindo isso ( Nenhum mysqld ou mysql.server após mariadb-server install ) e muitos outros posts.

Qualquer ajuda é muito apreciada.

ATUALIZAÇÃO 01

Eu desinstalei o mariadb:

[root@centos7 admin]# yum remove mysql
Loaded plugins: fastestmirror
Resolving Dependencies
--> Running transaction check
---> Package MariaDB-client.x86_64 0:10.0.30-1.el7.centos will be erased
--> Processing Dependency: MariaDB-client for package: MariaDB-server-10.0.30-1.el7.centos.x86_64
--> Running transaction check
---> Package MariaDB-server.x86_64 0:10.0.30-1.el7.centos will be erased
--> Finished Dependency Resolution

Dependencies Resolved

===================================================================================
 Package              Arch         Version                    Repository      Size
===================================================================================
Removing:
 MariaDB-client       x86_64       10.0.30-1.el7.centos       @mariadb        49 M
Removing for dependencies:
 MariaDB-server       x86_64       10.0.30-1.el7.centos       @mariadb       237 M

Transaction Summary
===================================================================================
Remove  1 Package (+1 Dependent package)

Installed size: 286 M
Is this ok [y/N]: y
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Erasing    : MariaDB-server-10.0.30-1.el7.centos.x86_64                      1/2
  Erasing    : MariaDB-client-10.0.30-1.el7.centos.x86_64                      2/2
  Verifying  : MariaDB-client-10.0.30-1.el7.centos.x86_64                      1/2
  Verifying  : MariaDB-server-10.0.30-1.el7.centos.x86_64                      2/2

Removed:
  MariaDB-client.x86_64 0:10.0.30-1.el7.centos

Dependency Removed:
  MariaDB-server.x86_64 0:10.0.30-1.el7.centos

Complete!

executou yum clean all e yum update

reinstale o mariadb:

# yum install mariadb-server mariadb
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * Webmin: download.webmin.com
 * base: anorien.csc.warwick.ac.uk
 * extras: centos.mirrors.nublue.co.uk
 * updates: centos.serverspace.co.uk
Package mariadb-server is obsoleted by MariaDB-server, trying to install MariaDB-server-10.0.30-1.el7.centos.x86_64 instead
Package mariadb is obsoleted by MariaDB-client, trying to install MariaDB-client-10.0.30-1.el7.centos.x86_64 instead
Resolving Dependencies
--> Running transaction check
---> Package MariaDB-client.x86_64 0:10.0.30-1.el7.centos will be installed
---> Package MariaDB-server.x86_64 0:10.0.30-1.el7.centos will be installed
--> Finished Dependency Resolution

Dependencies Resolved

===================================================================================
 Package              Arch         Version                     Repository     Size
===================================================================================
Installing:
 MariaDB-client       x86_64       10.0.30-1.el7.centos        mariadb        10 M
 MariaDB-server       x86_64       10.0.30-1.el7.centos        mariadb        55 M

Transaction Summary
===================================================================================
Install  2 Packages

Total download size: 65 M
Installed size: 65 M
Is this ok [y/d/N]: y
Downloading packages:
(1/2): MariaDB-10.0.30-centos7-x86_64-client.rpm            |  10 MB  00:00:22
(2/2): MariaDB-10.0.30-centos7-x86_64-server.rpm            |  55 MB  00:01:15
-----------------------------------------------------------------------------------
Total                                                 876 kB/s |  65 MB  01:15
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : MariaDB-client-10.0.30-1.el7.centos.x86_64                      1/2
  Installing : MariaDB-server-10.0.30-1.el7.centos.x86_64                      2/2
libsemanage.map_file: Unable to open /usr/share/mysql/SELinux/mariadb.pp
 (No such file or directory).
libsemanage.semanage_direct_install_file: Unable to read file /usr/share/mysql/SELinux/mariadb.pp
 (No such file or directory).
/usr/sbin/semodule:  Failed on /usr/share/mysql/SELinux/mariadb.pp!
  Verifying  : MariaDB-client-10.0.30-1.el7.centos.x86_64                      1/2
  Verifying  : MariaDB-server-10.0.30-1.el7.centos.x86_64                      2/2

Installed:
  MariaDB-client.x86_64 0:10.0.30-1.el7.centos
  MariaDB-server.x86_64 0:10.0.30-1.el7.centos

Complete!

Ainda não vai, o que dá?

# systemctl start mariadb.service
Failed to start mariadb.service: Unit not found.

ATUALIZAÇÃO 02

Poderia haver algo com versões de pacotes e letras maiúsculas, eu usei repositórios mariaDB em vez de centos para instalação, então peguei a versão 10.0.30:

]# yum info mariadb-server
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * Webmin: download.webmin.com
 * base: anorien.csc.warwick.ac.uk
 * extras: centos.mirrors.nublue.co.uk
 * updates: centos.serverspace.co.uk
Installed Packages
Name        : MariaDB-server
Arch        : x86_64
Version     : 10.0.30
Release     : 1.el7.centos
Size        : 237 M
Repo        : installed
From repo   : mariadb
Summary     : MariaDB: a very fast and robust SQL database server
URL         : http://mariadb.org
License     : GPLv2
Description : MariaDB: a very fast and robust SQL database server
            :
            : It is GPL v2 licensed, which means you can use the it free of charge
            : under the conditions of the GNU General Public License Version 2
            : (http://www.gnu.org/licenses/).
            :
            : MariaDB documentation can be found at https://mariadb.com/kb
            : MariaDB bug reports should be submitted through
            : https://jira.mariadb.org

Available Packages
Name        : mariadb-server
Arch        : x86_64
Epoch       : 1
Version     : 5.5.52
Release     : 1.el7
Size        : 11 M
Repo        : base/7/x86_64
Summary     : The MariaDB server and related files
URL         : http://mariadb.org
License     : GPLv2 with exceptions and LGPLv2 and BSD
Description : MariaDB is a multi-user, multi-threaded SQL database server. It is a
            : client/server implementation consisting of a server daemon (mysqld)
            : and many different client programs and libraries. This package
            : contains the MariaDB server and some accompanying files and
            : directories. MariaDB is a community developed branch of MySQL.
    
por B-and-P 13.03.2017 / 10:42

3 respostas

4
Mais pesquisas mostraram que no repositório MariaDB (v 10.0.30) o serviço é chamado mysql em oposição a centos repo (v5.5), é chamado de mariadb , de modo que foi uma confusão / problema.

Pergunta de referência: MariaDB no Centos7, serviço ainda chamado MySql

Em execução, # service mysql start retornou ERROR

Verificação de erros com

grep: journalctl -xe|grep 'mysqld.*errno'

Exibido:

/usr/bin/mysqld_safe_helper: Cannot change uid/gid (errno: 1)

Após este post parece ter corrigido o problema, que tinha a ver com a versão do MariaDB 10.0.XX e SELinux:

link

Eu sou capaz de iniciar o serviço mysql e configurá-lo com mysql_secure_installation

    
por 13.03.2017 / 12:17
1

Acho que verificaria se o servidor mariadb estava instalado corretamente - parece conter a definição do serviço:

rpm -qvla mariadb-server | grep service
-rw-r--r--    1 root    root                     1697 Nov 14 16:44 /usr/lib/systemd/system/mariadb.service

Você também pode verificar usando o yum:

> yum info mariadb-server
Loaded plugins: fastestmirror, ovl
Loading mirror speeds from cached hostfile
 * base: centos.mirror.triple-it.nl
 * extras: centos.mirror.transip.nl
 * updates: centos.ams.host-engine.com
Installed Packages
Name        : mariadb-server
Arch        : x86_64
Epoch       : 1
Version     : 5.5.52
Release     : 1.el7
Size        : 56 M
Repo        : installed

Você está procurando a última linha acima para dizer installed , em vez de base/7/x86_64 .

Acabei de testar seus comandos de instalação em uma nova imagem do centos7 (o container oficial do centos docker) e não consegui replicar o seu problema.

Você pode querer tentar reinstalar o servidor mariadb.

Atualização : acho que o seu problema se deve ao seu pacote MariaDB vindo do repositório webmin, em vez do repositório base. Desativar isso temporariamente (ou mais permanentemente) pode ajudar: sudo yum install --disablerepo=Webmin mariadb-server deve resolver seu problema imediato (e / ou obter os arquivos que você precisa).

Em todo o restante, a definição do serviço é bastante simples:

# It's not recommended to modify this file in-place, because it will be
# overwritten during package upgrades.  If you want to customize, the
# best way is to create a file "/etc/systemd/system/mariadb.service",
# containing
#       .include /lib/systemd/system/mariadb.service
#       ...make your changes here...
# or create a file "/etc/systemd/system/mariadb.service.d/foo.conf",
# which doesn't need to include ".include" call and which will be parsed
# after the file mariadb.service itself is parsed.
#
# For more info about custom unit files, see systemd.unit(5) or
# http://fedoraproject.org/wiki/Systemd#How_do_I_customize_a_unit_file.2F_add_a_custom_unit_file.3F

# For example, if you want to increase mariadb's open-files-limit to 10000,
# you need to increase systemd's LimitNOFILE setting, so create a file named
# "/etc/systemd/system/mariadb.service.d/limits.conf" containing:
#       [Service]
#       LimitNOFILE=10000

# Note: /usr/lib/... is recommended in the .include line though /lib/... 
# still works.
# Don't forget to reload systemd daemon after you change unit configuration:
# root> systemctl --system daemon-reload

[Unit]
Description=MariaDB database server
After=syslog.target
After=network.target

[Service]
Type=simple
User=mysql
Group=mysql

ExecStartPre=/usr/libexec/mariadb-prepare-db-dir %n
# Note: we set --basedir to prevent probes that might trigger SELinux alarms,
# per bug #547485
ExecStart=/usr/bin/mysqld_safe --basedir=/usr
ExecStartPost=/usr/libexec/mariadb-wait-ready $MAINPID

# Give a reasonable amount of time for the server to start up/shut down
TimeoutSec=300

# Place temp files in a secure directory, not /tmp
PrivateTmp=true

[Install]
WantedBy=multi-user.target
    
por 13.03.2017 / 10:48
0

Eu tenho o mesmo problema. Minha solução é: sudo systemctl start mysql.service e sudo chkconfig mysql on .

Talvez você deva desativar temporariamente o SeLinux com: sudo setenforce 0

Saudações

    
por 14.03.2017 / 10:57