Instalação do MySQL 5.7 a partir do código-fonte no Rocky Linux 8
1. Pré-requisitos
Instale as dependências necessárias para compilar o MySQL 5.7. Isto inclui o compilador GCC, CMake e bibliotecas de desenvolvimento.
# Instalação dos pacotes de software essenciais
yum install -y gcc gcc-c++ cmake bison zlib-devel libcurl-devel libarchive ncurses-devel gnutls-devel libxml2-devel openssl-devel libevent-devel libaio-devel perl-Data-Dumper libtirpc-devel
# Nota: Para o MySQL 5.7 no Rocky 8, é necessário instalar manualmente o Boost 1.59 e o rpcsvc-proto.
# O pacote rpcsvc-proto-1.4 pode ser compilado a partir da fonte.
# Exemplo de obtenção: https://github.com/thkukuk/rpcsvc-proto/releases/download/v1.4/rpcsvc-proto-1.4.tar.gz
2. Porcesso de Compilação e Instalação
Crie um usuário de sistema dedicado e um diretório de dados com as permissões adequadas.
useradd -r -s /sbin/nologin -d /var/lib/mysql mysql
mkdir -p /var/lib/mysql
chown mysql:mysql /var/lib/mysql
Extraia o código-fonte e inicie o processo de compilação com CMake.
tar xzf mysql-5.7.33.tar.gz -C /usr/local/src/
cd /usr/local/src/mysql-5.7.33/
cmake . \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql57 \
-DMYSQL_DATADIR=/var/lib/mysql \
-DSYSCONFDIR=/etc/mysql57 \
-DMYSQL_USER=mysql \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_SSL=system \
-DWITH_ZLIB=bundled \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_general_ci \
-DDOWNLOAD_BOOST=1 \
-DWITH_BOOST=/usr/local/boost
make -j $(nproc)
make install
Configure a variável de ambiente PATH e inicialize o banco de dados.
echo 'export PATH=/usr/local/mysql57/bin:$PATH' > /etc/profile.d/mysql57.sh
source /etc/profile.d/mysql57.sh
mysqld --initialize-insecure --user=mysql --datadir=/var/lib/mysql
3. Configuração e Inicialização do Serviço
Crie um arquivo de serviço systemd e inicie o banco de dados.
cp /usr/local/mysql57/support-files/mysql.server /etc/init.d/mysqld57
chkconfig --add mysqld57
service mysqld57 start
Defina a senha do usuário root e teste a conexão.
mysqladmin -u root password 'senha_segura_aqui'
mysql -u root -p
show databases;
exit
Instalação do MySQL 5.7 a partir de Binários Pré-Compilados
1. Preparação do Ambiente
Baixe o pacote binário genérico e crie a estrutura de diretórios.
groupadd -r -g 306 mysql
useradd -r -g 306 -u 306 -s /sbin/nologin -d /var/lib/mysql mysql
mkdir -p /var/lib/mysql
chown mysql:mysql /var/lib/mysql
2. Instalação do Binário
Extraia o pacote, crie um link simbólico e ajuste as permissões.
tar xzf mysql-5.7.33-linux-glibc2.12-x86_64.tar.gz -C /usr/local/
cd /usr/local/
ln -s mysql-5.7.33-linux-glibc2.12-x86_64 mysql57
chown -R root:root /usr/local/mysql57
Crie um arquivo de configuração mínimo.
mkdir -p /etc/mysql57
cat > /etc/mysql57/my.cnf <<EOF
[mysqld]
user = mysql
port = 3306
datadir = /var/lib/mysql
socket = /var/lib/mysql/mysql.sock
pid-file = /var/run/mysqld/mysqld.pid
log-error = /var/log/mysql57.log
skip_name_resolve
EOF
Inicialize o banco de dados e copie o script de inicialização.
mysqld --defaults-file=/etc/mysql57/my.cnf --initialize-insecure --user=mysql
cp /usr/local/mysql57/support-files/mysql.server /etc/init.d/mysqld57
chmod +x /etc/init.d/mysqld57
service mysqld57 start
Instalação Binária do MariaDB 10.4.25
1. Preparação e Extração
Instale as dependências necessárias e prepare o diretório de dados.
yum install -y libaio numactl-libs libncurses*
useradd -r -s /sbin/nologin mysql
mkdir -p /var/lib/mysql
chown mysql:mysql /var/lib/mysql
Extraia o pacote binário e configure um link simbólico.
tar xzf mariadb-10.4.25-linux-systemd-x86_64.tar.gz -C /usr/local/
ln -s /usr/local/mariadb-10.4.25-linux-systemd-x86_64 /usr/local/mariadb
chown -R root:root /usr/local/mariadb
2. Configuração e Inicialização
Crie o arquivo de configuração e inicialize as tabelas do sistema.
cat > /etc/mysql/mariadb.cnf <<EOF
[mysqld]
datadir = /var/lib/mysql
socket = /var/lib/mysql/mysql.sock
symbolic-links = 0
skip_name_resolve
[mysqld_safe]
log_error = /var/log/mariadb.log
pid_file = /var/run/mariadb/mariadb.pid
EOF
/usr/local/mariadb/scripts/mysql_install_db --user=mysql --datadir=/var/lib/mysql
Habilite e inicie o serviço usando systemd.
cp /usr/local/mariadb/support-files/systemd/mariadb.service /usr/lib/systemd/system/
systemctl daemon-reload
systemctl enable --now mariadb.service
Verifique a instalação conectando-se ao banco de dados.
mysql
show databases;
exit