Eu tenho o MySQL instalado no meu servidor de teste (Debian 10). Recentemente, atualizei-o para a versão mais recente (8.0.29), mas há alguns problemas com ele, então quero voltar para uma versão mais antiga (8.0.28). Mas eu não posso para a vida de mim descobrir como fazê-lo.
Eu removi o banco de dados existente e tentei reinstalá-lo usando:
apt-get install mysql-server=8.0.28-1debian10
mas isso não funcionou e sugeriu que eu executasse:
apt --fix-broken install
que, claro, o atualizou para a versão mais recente novamente.
Eu tentei inúmeras variações disso, mas todas resultam em mysql-server can't be found
erros semelhantes.
Eu estive vasculhando a internet e parece haver muitas pessoas fazendo perguntas semelhantes, mas nenhuma solução real. Até mesmo a documentação oficial do MySQL encobre essa parte.
Isso pode ser feito? E se sim, como? É apenas um banco de dados de teste, então não tenho problemas em descartá-lo e começar de novo.
Se você tiver dados primeiro faça um backup.
Para desinstalar completamente
MySQL
siga os passos abaixo:Para instalar
MySQL 8.0.22
adicione o MySQL Software RepositoryFaça o download
mysql-server_8.0.22-1debian10_amd64.deb-bundle.tar
do arquivo MySQL ou usando wget :Quando o download estiver concluído, instale o pacote:
Durante a instalação, você verá uma tela de configuração onde você pode especificar qual versão do MySQL você prefere, junto com a opção de instalar repositórios para outras ferramentas relacionadas ao MySQL. Escolha o que você precisa.
Atualize o cache do pacote apt para disponibilizar os novos pacotes de software:
Tendo adicionado o repositório e com o cache do seu pacote atualizado, agora você pode usar o apt para instalar o pacote mais recente do servidor MySQL:
O MySQL deve estar instalado e funcionando agora. Verifique usando systemctl:
Não se esqueça de proteger o MySQL usando
Então eu cheguei lá no final. Isso pode não estar totalmente correto e pode haver maneiras melhores de fazer isso, no entanto, funciona para mim:
Faça um backup do MySQLDump primeiro, se necessário.
Remova a versão antiga do MySQL
systemctl stop mysql
apt-get remove --purge 'mysql-.*'
apt-get autoremove
apt-get autoclean
apt-get dist-upgrade
rm -rf /etc/mysql
rm -rf /var/lib/mysql*
cd /root
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-server_8.0.28-1debian10_amd64.deb-bundle.tar
mkdir 828
tar -xvf mysql-server_8.0.28-1debian10_amd64.deb-bundle.tar -C /root/828
cd /root/828
dpkg -i libmysqlclient21_8.0.28-1debian10_amd64.deb
dpkg -i mysql-common_8.0.28-1debian10_amd64.deb
dpkg -i mysql-community-client-plugins_8.0.28-1debian10_amd64.deb
dpkg -i mysql-community-client-core_8.0.28-1debian10_amd64.deb
dpkg -i mysql-community-client_8.0.28-1debian10_amd64.deb
dpkg -i mysql-client_8.0.28-1debian10_amd64.deb
dpkg -i mysql-community-server-core_8.0.28-1debian10_amd64.deb
apt --fix-broken install
dpkg -i mysql-community-server-core_8.0.28-1debian10_amd64.deb
dpkg -i mysql-community-server_8.0.28-1debian10_amd64.deb
dpkg -i mysql-server_8.0.28-1debian10_amd64.deb
Agora deve estar funcionando com a versão correta:
systemctl status mysql
mysqld- V
/usr/sbin/mysqld Ver 8.0.28 for Linux on x86_64 (MySQL Community Server - GPL)
Por fim, proteja o banco de dados
mysql_secure_installation