Guia de Instalação do MySQL 5.5 a 5.7 no CentOS

Introdução

O MySQL é um dos sistemas de gerenciamento de banco de dados mais populares do mundo. Neste artigo, apresentamos os métodos para instalar diferentes versões do MySQL (5.5, 5.6 e 5.7) no sistema operacional CentOS, tanto através de repositórios quanto por compilação manual.

Instalação via Repositório YUM

A maneira mais simples de instalar o MySQL no CentOS é utilizando o repositório oficial da Oracle. A documentação oficial está disponível em dev.mysql.com.

Para sistemas CentOS 6, utilize o pacote que contém "el6" no nome. Para CentOS 7, procure por "el7".

Instalação por Compilação Manual

Instalação de Dependências

Antes de compilar o MySQL, é necessário instalar as dependências do sistema:

yum -y install cmake
yum -y install gcc-c++
yum -y install ncurses ncurses-devel

Caso occorra algum erro durante a compilaçãoindicando bibliotecas faltantes, instale as dependências informadas e execute:

rm CMakeCache.txt
cmake [opções de configuração]

Configuração e Compilação

Execute o cmake com os parâmetros desejados:

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/servidor/mysql \
      -DEXTRA_CHARSETS=all \
      -DDEFAULT_CHARSETS=utf8 \
      -DDERAULT_COLLATION=utf8_general_ci

Alguns parâmetros importantes:

  • CMAKE_INSTALL_PREFIX: Diretório base da instalação
  • DEFAULT_CHARSETS: Codificação padrão do banco
  • EXTRA_CHARSETS: Codificações adicionais suportadas

Para remover os arquivos instalados em caso de necessidade, utilize:

xargs rm < install_manifest.text

Este comando remove apenas arquivos, não diretórios.

Configuração de Permissões

Após a enstalação,configure as permissões adequadamente:

chown -R mysql.mysql /usr/local/servidor/mysql

O diretório de dados deve pertencer ao usuário de sistema do MySQL (geralmente chamado "mysql"), nunca ao root. Caso contrário, ao iniciar o serviço, you'll encounter o erro:

The server quit without updating PID file

E no log de erros, you'll see:

Can't start server : Bind on unix socket: Permission denied

Inicialização do Banco de Dados

Após compilar e instalar, inicialize o banco de dados:

./script/mysql_install_db --basedir=/usr/local/servidor/mysql --datadir=/usr/local/servidor/mysql/dados

O script indicará os próximos passos para configurar a senha do root e inicieor automático:

To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system

PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
/usr/local/servidor/mysql/bin/mysqladmin -u root password 'nova-senha'

Para iniciar o MySQL manualmente:

cd /usr/local/servidor/mysql
./bin/mysqld_safe &

Arquivo de Configuração

Copie o arquivo de configuração padrão para o diretório de instalação:

cp support-files/my-default.cnf /usr/local/servidor/mysql/my.cnf

Cuidado: se você copiar o arquivo antes da inicialização, you'll receive um aviso indicando que um novo arquivo de configuração foi criado automaticamente.

Problema comum: ao iniciar o MySQL pela primeira vez com uma configuração de socket customizada, pode aparecer o erro:

Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

Este problema geramlente ocorre quando o parâmetro socket é definido prematuramente no arquivo de configuração.

Instalação do MySQL 5.7

Dependência do Boost

A partir da versão 5.7, o MySQL depende da biblioteca Boost. É necessário instalá-la previamente:

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/servidor/mysql57 \
      -DDOWNLOAD_BOOST=1 \
      -DWITH_BOOST=/usr/local/boost

Bibliotecas Adicionais

Pode ser necessário instalar bibliotecas adicionais:

yum -y install libatomic
yum -y install numactl
yum -y install numactl-devel

Inicialização e Configuração de Senha

Após a instalação via RPM, localize os arquivos instalados:

rpm -ql mysql-community-server-el7-x86_64

Consulte o arquivo /etc/my.cnf para identificar onde os logs estão armazenados. Em seguida, pesquise a senha temporária:

grep password /caminho/para/log/erros.log

Inicie o serviço e conecte-se usando a senha temporária. Depois, altere a senha:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'NovaSenha123@';

Nota sobre Cmake

Uma característica importante do cmake é a capacidade de compilação externa (out-of-source), que permite compilar o projeto em um diretório separado do código-fonte. Isso mantém o código original intacto e permite múltiplas compilações com diferentes configurações a partir da mesma árvore de fontes.

Tags: MySQL CentOS Linux database compilation

Publicado em 7-6 18:20