Tudo bem, aqui vai. Então, você precisa fazer uma limpeza completa do mysql. Não se preocupe em tentar mudar para o mariadb neste ponto, ele simplesmente não funcionará (não é possível alterar a senha do root apesar de deletar todos os arquivos relacionados ao mysql).
[EDIT: Mais tarde, percebi que isso era porque eu não estava executando o mariadb como root. Por algum motivo, se você tiver o mariadb instalado, deverá iniciar um prompt com sudo mysql -u root -p
. Então, em teoria, o mariadb deve funcionar também para esse processo.]
Você precisa fazer uma nova instalação do servidor mysql. Comece removendo tudo relacionado ao mysql com
sudo apt-get purge mysql-server* mariadb*
Em seguida, remova todas as pastas relacionadas ao mysql (certifique-se de ter um backup seguro das pastas / var / lib / mysql).
sudo rm -rf /var/lib/mysql
sudo rm -rf /etc/mysql
sudo rm -rf /var/log/mysql
Em seguida, reinstale o servidor mysql. Se falhar com o erro de dependência boba, faça
ln -s /etc/mysql/mysql.conf.d /etc/mysql/conf.d
(ou o contrário, não me lembro agora), em seguida, execute
sudo apt-get install mysql-server
novamente e deixe terminar a configuração. Pare o servidor mysql com
sudo systemctl stop mysql
Em seguida, copie APENAS as pastas do banco de dados (e todo o seu conteúdo) de volta para / var / lib / mysql. Em seguida, copie também ib * para / var / lib / mysql (estes são o dicionário innodb e outros arquivos).
sudo rsync -r <backedupfolder>/ib* /var/lib/mysql/
Certifique-se de fazer
sudo chown -R mysql:mysql /var/lib/mysql
Edite /etc/mysql/my.cnf e adicione innodb_force_recovery=5
à seção [mysqld]
(talvez seja necessário adicionar [mysqld]). Agora inicie o mysql novamente com systemctl start mysql
. Se você olhar para /var/log/mysql/error.log
você ainda pode ver erros, no entanto tente entrar em um prompt com
mysql -u root -p
Se você conseguir iniciá-lo, ótimo. Se não, dê uma olhada no systemctl status mysql.service e veja o que ele diz. Pode ser uma questão de permissão. Se você finalmente conseguiu entrar em um prompt, faça imediatamente
mysqldump -u root -p <databasename> > database.sql
para que possamos obter um despejo limpo desse banco de dados. Agora que temos um dump limpo dos bancos de dados importantes, precisamos refazer os primeiros passos (pelo menos eu fiz, para ter certeza ... Eu fui capaz de iniciar o WordPress neste momento, mas não consegui logar dentro). Então refaça os primeiros passos de limpeza, remova todos os diretórios mysql depois de desinstalar o mysql-server. Reinstale, mas desta vez basta executar
mysql -u root -p <databasename> < database.sql
E você deveria ser de ouro! Talvez seja necessário recriar os bancos de dados ( CREATE DATABASE databasename;
). Não se esqueça de recriar o usuário que possuía esse banco de dados antes (se você tiver esquecido, procure em / var / www / html / wp-config. php ou onde quer que seu wp-config.php é para os detalhes).