Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como reparar a tabela 'mysql.user' corrompida do xampp?


Este é quase certamente um bug conhecido no mariaDB (ou seja, mySQL ). Consulte ApacheFriends.org para a descrição. O problema ocorre após o usuário senha alterações - geralmente usuário root .

O conselho geral parece ser reduzir suas perdas e rebaixar seu XAMPP para 7.3.5

Caso contrário, o problema pode ocorrer mais tarde mesmo depois uma desinstalação/reinstalação completa do 7.3.7, por exemplo.

O que se segue é uma evasão/reparo para usuários do Windows/XAMPP. Ele pressupõe que você tenha um backup - o que provavelmente você faz. (Parece que o processo de instalação fornece um backup inicial.) A ideia é colocá-lo de volta no ar sem fazer downgrade por tempo suficiente para a próxima versão chegar.

A maneira mais rápida de sair do pântano é ir para a etapa 9.

(1) Encontre 'my.ini' (ex. c:\xampp\mysql\bin\my.ini )
(2) Insira 'skip-grant-tables' em uma nova linha seguindo o rótulo '[mysqld] '. Remova isso mais tarde.
(3) Agora o mySQL pode ser iniciado a partir do painel de controle do XAMPP.
(4) Inicie o phpMyAdmin do navegador e selecione a tabela 'user' do banco de dados 'mysql'
(5) Deve ver:#1034 O índice da tabela 'user' está corrompido; tente repará-lo.
(6) Selecione 'mysql' no painel esquerdo e marque 'usuário' no painel direito.
(7) No menu suspenso 'Com selecionado' execute 'analisar' e depois 'reparar table'.
(8) Se 'Repair' falhar, não há escolha a não ser 'DROP TABLE user' ....

(9) Recrie a tabela 'usuário' do backup de distribuição copiando os 3 arquivos a seguir.
C:\xampp\mysql\backup\mysql\user.frm 
C:\xampp\mysql\backup\mysql\user.MYD
C:\xampp\mysql\backup\mysql\user.MYI

para
C:\xampp\mysql\data\mysql\

em seguida, reinicie o XAMPP e adicione/remova/edite usuários conforme desejar.

Um último ponto:Parece haver algum tipo de associação entre as tabelas 'user' e 'db'. Você pode precisar reparar a tabela 'db' conforme a etapa (7).