Ir para o conteúdo principal

Instalação do Percona MySQL

Execute os seguintes comandos abaixo:

sudo su

apt install -y equivs && \
equivs-control percona-telemetry-agent

cat << 'EOF' > percona-telemetry-agent
Section: misc
Priority: optional
Standards-Version: 3.9.2

Package: percona-telemetry-agent
Version: 1.0
Maintainer: local <root@localhost>
Description: Dummy package to satisfy Percona dependency
EOF

equivs-build percona-telemetry-agent && \
dpkg -i percona-telemetry-agent_1.0_all.deb && \
mkdir -p /etc/apt/keyrings && \
curl -fsSL https://github.com/percona/percona-repositories/raw/main/deb/percona-keyring.gpg | gpg --dearmor -o/etc/apt/keyrings/percona.gpg && \
echo "deb [signed-by=/etc/apt/keyrings/percona.gpg] http://repo.percona.com/ps-84-lts/apt noble main" | tee /etc/apt/sources.list.d/percona-ps-84-lts.list && \
apt update && apt install -y percona-server-server && \
mysql_secure_installation

Responsa o seguinte questionário:

  • Enter password for user root: digitar a senha padrão que é temporaria
  • Press y|Y for Yes, any other key for No: Y

  • There are three levels of password validation policy: 0
  • 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

Continue, executando os seguintes comandos abaixo:

crudini --set /etc/mysql/mysql.conf.d/mysqld.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/mysql/mysql.conf.d/mysqld.cnf mysqld max_allowed_packet 64M && \
crudini --set /etc/mysql/mysql.conf.d/mysqld.cnf mysqld bind-address 0.0.0.0 && \
crudini --set /etc/mysql/mysql.conf.d/mysqld.cnf mysqld skip-external-locking 1 && \
crudini --set /etc/mysql/mysql.conf.d/mysqld.cnf mysqld performance_schema 1 && \
crudini --set /etc/mysql/mysql.conf.d/mysqldump.cnf mysqldump quick 1 && \
crudini --set /etc/mysql/mysql.conf.d/mysqldump.cnf mysqldump quote-names 1 && \
crudini --set /etc/mysql/mysql.conf.d/mysqldump.cnf mysqldump max-allowed-packet 128M

sed -i -e "s/.*skip-external-locking.*/skip-external-locking/" /etc/mysql/mysql.conf.d/mysqld.cnf && \
sed -i -e "s/.*performance_schema.*/performance_schema/" /etc/mysql/mysql.conf.d/mysqld.cnf && \
sed -i -e "s/.*quick.*/quick/" /etc/mysql/mysql.conf.d/mysqldump.cnf && \
sed -i -e "s/.*quote-names.*/quote-names/" /etc/mysql/mysql.conf.d/mysqldump.cnf

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

service mysql restart

Senha do MySQL é a padrão.