Skip to main content

Instalação do MySQL

Execute as seguintes instruçõesinstruções disponíveldisponível no bloco abaixo:

cd ~ && \
dnf module disable mysql -y && \
dnf install -y https://repo.percona.com/yum/percona-release-latest.noarch.rpm && \
percona-release setup ps-80 && \
dnf install -y percona-server-client

Continue com a execução:execução:

percona-release enable tools release
dnf clean all && dnf repolist
percona-release enable pdps-8.0 release
dnf install -y percona-server-client percona-server-server percona-xtrabackup-80 qpress && \
systemctl start mysql.service

SeráSerá necessárionecessário capturar a senha gerada automaticamente na instalaçãoinstalação do serviçoserviço de MySQL, atravésatravés do seguinte comando:

cat /var/log/mysqld.log  | grep "temporary password is generated"

Com a senha temporáriatemporária gerada que foi exibida pelo comando anterior, continue executando o seguinte comando abaixo:

/usr/bin/mysql_secure_installation

Responsa o seguinte questionário:questionário:

  • Enter password for user root: digitar a senha temporáriatemporária informada
  • New password: digite a nova senha
  • Re-enter new password: repita a nova senha
  • Change the password for root? ((Press y|Y for Yes, any other key for No): Y
  • New password: digite a nova senha novamente
  • Re-enter new password: repita a nova senha novamente
  • Do you wish to continue with the password provided? (Press y|Y for Yes, any other key for No): Y
  • Remove anonymous users? (Press y|Y for Yes, any other key for No): Y
  • Disallow root login remotely? (Press y|Y for Yes, any other key for No): No
  • Remove test database and access to it? (Press y|Y for Yes, any other key for No): Y
  • Reload privilege tables now? (Press y|Y for Yes, any other key for No): Y

ÉÉ necessárionecessário executar as seguintes instruçõesinstruções por determinaçãodeterminação do Percona (seráserá solicitado a senha do usuáriousuário root do MySQL nos trêstrês comandos):

mysql -u root -p -e "CREATE FUNCTION fnv1a_64 RETURNS INTEGER SONAME 'libfnv1a_udf.so'" && \
mysql -u root -p -e "CREATE FUNCTION fnv_64 RETURNS INTEGER SONAME 'libfnv_udf.so'" && \
mysql -u root -p -e "CREATE FUNCTION murmur_hash RETURNS INTEGER SONAME 'libmurmur_udf.so'"

Continue executando as seguintes instruçõesinstruções disponíveldisponível no bloco abaixo:

crudini --set /etc/my.cnf mysqld sql_mode STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION && \
crudini --set /etc/my.cnf mysqld max_allowed_packet 64M && \
crudini --set /etc/my.cnf mysqld bind-address 0.0.0.0 && \
crudini --set /etc/my.cnf mysqld binlog_expire_logs_seconds 21600 && \
crudini --set /etc/my.cnf mysqld max_binlog_size 500M && \
crudini --set /etc/my.cnf mysqld skip-external-locking 1 && \
crudini --set /etc/my.cnf mysqld skip-host-cache 1 && \
crudini --set /etc/my.cnf mysqld skip-name-resolve 1 && \
crudini --set /etc/my.cnf mysqld performance_schema 1 && \
crudini --set /etc/my.cnf xtrabackup open-files-limit 2000000 && \
crudini --set /etc/systemd/system/mysql.service Service LimitNOFILE 650000 && \
crudini --set /etc/my.cnf mysqldump max-allowed-packet 128M && \
crudini --set /etc/my.cnf mysqldump quick 1 && \
crudini --set /etc/my.cnf mysqldump quote-names 1 && \
sed -i -e "s/.*skip-external-locking.*/skip-external-locking/" /etc/my.cnf && \
sed -i -e "s/.*skip-host-cache.*/skip-host-cache/" /etc/my.cnf && \
sed -i -e "s/.*skip-name-resolve.*/skip-name-resolve/" /etc/my.cnf && \
sed -i -e "s/.*performance_schema.*/performance_schema/" /etc/my.cnf && \
sed -i -e "s/.*quick.*/quick/" /etc/my.cnf && \
sed -i -e "s/.*quote-names.*/quote-names/" /etc/my.cnf
echo "fs.file-max=5000000" >> /etc/sysctl.d/99-sysctl.conf && \
echo "fs.nr_open=2000000" >> /etc/sysctl.d/99-sysctl.conf && \
echo "mysql hard nofile 2000000" >> /etc/security/limits.conf && \
echo "mysql soft nofile 2000000" >> /etc/security/limits.conf && \
sysctl -w fs.file-max=5000000 && \
sysctl -w fs.nr_open=2000000 && \
systemctl daemon-reload

Precisamos corrigir o acesso do usuáriousuário root do MySQL, com as seguintes instruçõesinstruções (deve ser executada individualmente):

mysql -h localhost -u root -p mysql -e "SET GLOBAL validate_password.policy = 0;"
mysql -h localhost -u root -p mysql -e "UPDATE user SET Host = '%' WHERE user.Host  = 'localhost' AND user.User  = 'root' LIMIT 1;"

Continue executando o seguinte comando abaixo para definir a senha do root (a mesma definida no MySQL Secure Installation):

Se houver uma exclamaçãoexclamação!senha ), deverádeverá colocar o contra barra antes ( \!senha ).

mysql -h localhost -u root -p mysql -e "ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'SENHA';"

Observe que este comando poderápoderá retornar um erro, e vocêvocê deverádeverá executar novamente para confirmar a operação,operação, aonde retornaráretornará mensagem de sucesso.

Finaliza a instalaçãoinstalação do MySQL reiniciando o serviço:serviço:

systemctl stop mysql.service && \
systemctl start mysql.service