Instalando o MariaDB no CentOS7

O MariaDB é um banco de dados que surgiu como fork do MySQL, criado pelo próprio fundador do projeto após sua aquisição pela Oracle, a intenção principal do projeto é manter uma alta fidelidade com o MySQL.O MariaDB é um avançado substituto para o MySQL e está disponível sob os termos da licença GPL v2.

INSTALAÇÃO E CONFIGURAÇÃO
[root@centos7 yum.repos.d]# yum install MariaDB-common.x86_64 MariaDB-client.x86_64 MariaDB-server.x86_64

Comentamos a linha do IPv6 do /etc/hosts:

[root@centos7 my.cnf.d]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
#::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

E adicionamos a seguinte linha no arquivo /etc/my.cnf.d/server.cnf.

# this is read by the standalone daemon and embedded servers
[server]
bind_address=localhost

Antes de restartamos o serviço podemos ver que o MariaDB que está “ouvindo” em IPv6:

[root@centos7 yum.repos.d]# netstat -putan | grep mysql 
tcp6       0      0 :::3306                 :::*                    OUÇA       13279/mysqld  

Após estas alterações restartamos o serviço:

[root@centos7 my.cnf.d]# systemctl restart mariadb

E verificamos a porta com o netstat novamente:

[root@centos7 my.cnf.d]# netstat -putan | grep mysql 
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               OUÇA       13721/mysqld  

Agora que instalamos o banco vamos definir uma senha para o usuário root.

[root@centos7 my.cnf.d]# systemctl stop mariadb 

E entramos no modo safe do mysql com o comando mysqld_safe. A diretiva ‘–skip-grant-tables‘ permite que o banco inicie sem utilizar os privilégios do banco, ou seja, as suas permissões.

[root@centos7 my.cnf.d]# mysqld_safe --skip-grant-tables 
170302 00:31:19 mysqld_safe Logging to '/var/lib/mysql/centos7.cissaspike.net.err'.
170302 00:31:19 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
...
...
^Z
[1]+  Parado                  mysqld_safe --skip-grant-tables

Colocamos-o em background com Ctrl+Z. Também poderiamos executá-lo com &.

[root@centos7 my.cnf.d]# mysqld_safe --skip-grant-tables & 

Em seguida executamos o mysql_secure_installation e seguimos suas instruções:

[root@centos7 my.cnf.d]# mysql_secure_installation 

Como colocamos o ‘mysqld_safe’ em background precisamos matar seus processos antes de startamos o banco.
Após essa etapa inicializamos o banco:

[root@centos7 my.cnf.d]# systemctl start mariadb

E conectamos no banco com a nova senha:

[root@centos7 my.cnf.d]# mysql -u root -p 
Enter password: 
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 3
Server version: 10.1.21-MariaDB MariaDB Server

Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> 

Neste exemplo eu instalei o MariaDB utilizando o repositório do CentOS. Meu arquivo de repositório /etc/yum.repos.d/MariaDB.repo ficou assim:

[root@centos7 yum.repos.d]# cat MariaDB.repo 
# MariaDB 10.1 CentOS repository list - created 2017-03-01 20:19 UTC
# http://downloads.mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.1/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

Referência:
https://dev.mysql.com/doc/refman/5.7/en/resetting-permissions.html
https://dev.mysql.com/doc/refman/5.7/en/mysql-secure-installation.html