Temos 3 formas de instalar o MySQL nas distribuições Linux. As instalações podem ser feitas a partir do repositório(yum, apt-get, etc…), a partir do pacote já compilado para a sua distribuição(.rpm, .deb, etc…) ou ainda através dos binários do MySQL.
Nesse momento vamos ver como fazer a instalação a partir dos arquivos binários, e já adianto que será um post um pouco longo, pois temos que configurar tudo manualmente.
Vamos instalar a versão mais recente do MySQL 5.7.

A primeira coisa a ser feita é acessar o site do MySQL e fazer o download do arquivo.

Recomendo executar um yum update antes de iniciar, pois caso tenha alguma lib desatualizada, nesse momento ela será atualizada.

A primeira coisa é fazer o download dos arquivos que vamos precisar.

https://dev.mysql.com/downloads/mysql/

Ao chegar nessa tela verá que a versão que está selecionada para download são os pacotes da versão 8(MySQL Community Server 8.X.XX), mas queremos a versão 5.7, então nessa mesma página, procure por isso “Looking for previous GA versions?” e logo abaixo terá um link “MySQL Community Server 5.7″, clique nele e será direcionado para a página de download da versão 5.7.
Depois selecione o sistema operacional que deseja, como estamos utilizando o CentOS, vamos selecionar a opção “Red Hat Enterprise Linux / Oracle Linux” e depois emos que selecionar a versão do Sistema Operacional em “Select OS Version:”. No meu caso estou usando a versão 7 x86 64 Bit.

 

Muita atenção para baixar os pacotes para a versão correta, por exemplo, se o teu SO for 64 Bit, baixe os pacotes para 64 Bit e não para 32 Bit.

Vou fazer o download do arquvo Compressed TAR Archive(mysql-5.7.23-el7-x86_64.tar.gz).

Você pode fazer o download no seu computador e transferir para o servidor ou pode fazer o download direto no servidor, usando o wget, por exemplo.
Eu vou usar o wget, e para isso fiz esses passos:

  1. Clique no botão download do “Compressed TAR Archive”.
  2. Vai aparecer uma página que pede para você fazer o login ou se cadastrar, não precisa fazer nada disso. Mais para baixo tem um link “No thanks, just start my download.”, clique com o botão direito do mouse e ai em “Copiar endereço do Link”, que tem essa url “https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.23-el7-x86_64.tar.gz”.
  3. No meu servidor usei o wget para fazer o download do arquivo assim “wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.23-el7-x86_64.tar.gz”.

Pronto já temos o arquivo que precisamos, ele é um pacote bem grande, mas nele tem tudo que precisamos.
Vamos fazer a instalação.

A primeira coisa a fazer é descompactar o arquivo.

Copy to Clipboard

 

Depois vamos mover todos os arquivos descompactados para a pasta /opt/

Copy to Clipboard

 

E agora vamos criar um link simbólico da pasta /opt/mysql-5.7.23-el7-x86_64 em /usr/local/mysql

Copy to Clipboard

 

Uma coisa que acho legal desse formato é que é bem simples fazer o upgrade da versão do MySQL, basicamente é mudar o link simbólico, mas esse é assunto para outro post.

Todos os binários do MySQL estão em /usr/local/mysql/bin, vamos conferir.

Copy to Clipboard

 

Para facilitar o acesso aos binários, vamos incluir no path do linux esse diretório, isso será muito útil para acessar o MySQL cliente ou mysqldump, por exemplo.
Os usuários no linux tem um arquivo chamado .bashrc no diretório /home/ ou no casso do root em /root/ e é nesse arquivo que temos que adicionar essa linha “export PATH=$PATH:/usr/local/mysql/bin”

vim ~/.bashrc
export PATH=$PATH:/usr/local/mysql/bin

 

Depois execute esse comando para que a sua sessão no linux já possa acessar os binários do MySQL.

Copy to Clipboard

 

Para testar digite mysql e enter.

Copy to Clipboard

 

Agora aqui um ponto importante, as versão mais recentes do CentOS já vem com alguns pacotes do MariaDB instalado, isso acontece em função de acordos comerciais, vamos verificar e remover esses pacotes caso estejam instalados, assim como o arquivo /etc/my.cnf.

Copy to Clipboard

 

No meu caso o pacote mariadb-libs-5.5.56-2.el7.x86_64 já estava instalado e eu removi, quando removi esse pacote ele já removeu o arquivo my.cmf que tinha.

O próximo passo é criar um arquivo my.cnf básico apenas para subir o serviço do MySQL. Ele bem semelhante ao que criado quando é instalado através do repositório.
Todos os diretórios que estou usando como exemplo, são os recomendados pela Oracle.

Copy to Clipboard

 

Veja que apenas está definido o datadir, onde será criado o sockect, qual usuário o MySQL irá utilizar para acessar os arquivos no sistema operacional, local do log se erros e local do pid.

Como vimos, no my.cnf está configurado o usuário mysql, mas esse usuário não existe no Linux, então vamos criar.

Copy to Clipboard

 

E agora vamos criar o diretório que será utilizado como datadir. Vamos criar informar que o dono desse diretório é o usuário mysql.

Copy to Clipboard

 

E por último criar o diretório que irá ficar o pid.

Copy to Clipboard

 

Agora que já temos os binários, o path no sistema operacional, o my.cnf e os diretórios criados e com as permissões corretas, vamos iniciar o MySQL. Isso mesmo iniciar, como estamos utilizando diretamente os binários, não tem instalação para ser feita, apenas iniciar.
Na primeira vez que for iniciar o MySQL, é necessário informar para o deamon do MySQL, o mysqld que é necessário criar os arquivos do MySQL no datadir, e para isso basta fazer dessa forma.

Copy to Clipboard

 

Vejam que eu tive um erro, no meu servidor não tem o libaio instalado, então antes vou ter que fazer a instalação, pois ele é um pré requisito.

Copy to Clipboard

 

Agora vamos novamente inicializar o datadir.

Copy to Clipboard

 

Veja que ele já mostra a senha temporária do usuário root, guarde ela pois vamos precisar para acessar o MySQL, diferente da instalação através do repositório, essa senha não foi gravada no log de erro, e esse é o único momento que ela é exibida, caso não anote será necessário excluir os arquivos do datadir e executar novamente o comando mysqld –initialize.
Vamos ver como que ficou o datadir.

Copy to Clipboard

 

Agora já podemos iniciar o serviço do mysql, nesse caso recomendo utilizar o mysql_safe e não apenas o mysqld, vejam também que no final do mysql_safe eu coloquei um &, isso é para que ele fique executando em segundo plano.

Copy to Clipboard

 

Vamos conferir se o serviço está rodando.

Copy to Clipboard

 

Pronto, mysql instalado e funcionando, agora vamos acessar o MySQL e alterar a senha do root.

Copy to Clipboard

 

Deu um erro ao ler o socket, já que para a coenxão localhost o mysql cli vai utilziar o socket.
Como podem ver no my.cnf nós definimos onde o socket será criado ‘socket=/var/lib/mysql/mysql.sock’, porém o mysql cli tem como path default /tmp/mysql.sock, então vamos ajustar o my.cnf para que o mysql cli utilize o path que definimos.

vim /etc/my.cnf
[client]
socket=/var/lib/mysql/mysql.sock

Copy to Clipboard

 

Como essa alteração só afeta o mysql cli e não mo mysql server não é necessário reiniciar, pois o mysql cli fará a leitura em tempo de execução.

Copy to Clipboard

 

Como última passo para concluirmos esse post, vamos configurar o serviço do MySQL no sistema operacional, para que possamos utilizar os comandos de service mysqld start/stop/status, etc… No inicio eu disse que seria tudo configurado na mão!

Primeiro vamos parar o serviço do MySQL com o mysqladmin

Copy to Clipboard

 

Junto com os arquivos que baixamos lá no inicio, já tem pronto o script que precisamos para poder configurar o serviço, que é o arquivo /usr/local/mysql/support-files/mysql.server, só temos que criar um link simbólico em /etc/init.d.

Copy to Clipboard

 

E pronto, já podemos usar o serviço.

Copy to Clipboard