De repente, meu servidor MySQL 5.5 local parou de funcionar no meu Windows XP SP3.
Eu também tenho o WAMP Apache e o WAMP MySQL instalados, mas o WAMP MySQL não está em execução. O log de erros mostra:
- Não é possível iniciar o servidor: Vincule na porta TCP / IP: esse arquivo ou diretório não existe
- Você já tem outro servidor mysqld em execução na porta: 3306?
Tentei alterar a porta de 3306 para 3307, mas o serviço ainda não foi iniciado, dando erro:
O Visualizador de Eventos mostra:
- Erro fatal: não é possível abrir e bloquear tabelas de privilégios: a tabela 'mysql.host' não existe
- Não é possível abrir a tabela mysql.plugin. Por favor, execute mysql_upgrade para criá-lo.
Aparentemente, só posso executar o mysql_upgrade se o servidor estiver em execução. Como posso criar 'mysql.host' se o serviço não puder ser iniciado?
Desinstalei o MySQL Server e reinstalei-o, e durante o assistente de configuração após a instalação, recebo um erro: O serviço não pôde ser iniciado. Erro: 0.
Como procedo daqui?
Respostas:
Execute o seguinte comando
fonte
systemctl status mysqld.service 2015-02-20 15:41:07 15160 [ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.user' doesn't exist
inicialize o mysql antes de iniciar no windows.
fonte
A primeira coisa que você precisa fazer é executar estes comandos:
Observe as diferenças
O MySQL 5.0 possui 17 tabelas no esquema mysql
O MySQL 5.1 possui 23 tabelas no esquema mysql
O MySQL 5.5 possui 24 tabelas no esquema mysql
Por favor note que o mysql.plugin não existe no MySQL 5.0. É muito plausível supor que você de alguma forma instalou o MySQL 5.0 e fez desaparecer as tabelas vitais para o MySQL 5.5.
Aqui estão algumas boas notícias. Há algo que você pode tentar.
Para este exemplo
Aqui estão seus passos
É isso aí.
Se você estiver executando isso no Windows, os mesmos princípios deverão ser aplicados.
De uma chance !!!
UPDATE 2011-07-29 16:15 EDT
Se seus nomes de usuário tiverem privilégios específicos de banco de dados, aqui estão suas etapas
fonte
Adicione o caminho do MySQL às variáveis de ambiente.
fonte
parece que você já tem o mysql rodando
tentar
se você vir alguma saída, provavelmente precisará parar (ou reiniciar).
Se você não vir nenhuma saída, tente executar o mysqld sem demonizar e veja a saída.
fonte
Adicionei uma tag do Windows para ajudar as pessoas a responderem à pergunta.
Meus antecedentes não são janelas, mas os diretores se aplicam.
Existe um processo mysql já em execução? Nesse caso, você precisará matá-lo antes de desinstalar. Se ainda estava em execução quando você tentou desinstalar / reinstalar, você terá processos e arquivos pendentes, impedindo a desinstalação completa.
Abra a janela de serviços, procure por algo com mysql no nome e verifique se está configurado para não tentar iniciar com uma reinicialização. Em seguida, abra a guia processos em execução da janela de programas em execução (use CTRL-ALT-DEL para abrir) e procure e elimine os processos em execução com o mysql no nome.
Se você está convencido de que não há mais processos mysql em execução, você pode continuar. Você pode reiniciar para ter certeza de que não há mais processos mysql em execução.
Neste momento você deve ser capaz de reinstalar e iniciar o mysql.
fonte
Execute mysql-test-run e você verá a seguinte saída:
fonte
Se você mover o datadir, não precisará apenas conceder as novas permissões ao datadir, mas também garantir que todos os diretórios-pai tenham permissão.
Mudei meu datadir para um disco rígido, montado no Ubuntu como:
e meu datadir eram bancos de dados .
Eu tive que definir permissões para 771 para cada um dos diretórios de mídia, usuário e dados:
Se isso não funcionar, outra maneira de fazer o mysql funcionar é mudar o usuário em /etc/mysql/my.cnf para root; embora não haja dúvida de alguns problemas ao fazer isso do ponto de vista da segurança.
fonte