Execute o seguinte comando
mysql_install_db
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á rodando. O log de erros mostra:
Eu tentei mudar a porta de 3306 para 3307, mas o serviço ainda não inicia, dando erro:
O Visualizador de Eventos mostra:
Aparentemente, só posso executar mysql_upgrade se o servidor estiver em execução. Como posso criar 'mysql.host' se o serviço não puder ser iniciado?
Eu desinstalei o MySQL Server e o reinstalei, 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 eu procedo daqui?
Execute o seguinte comando
mysql_install_db
inicialize o mysql antes de iniciar no windows.
mysqld --initialize
A primeira coisa que você precisa fazer é executar estes comandos:
use mysql
show tables;
Por favor, note as diferenças
O MySQL 5.0 possui 17 tabelas no esquema mysql
+---------------------------+
| Tables_in_mysql |
+---------------------------+
| columns_priv |
| db |
| func |
| help_category |
| help_keyword |
| help_relation |
| help_topic |
| host |
| proc |
| procs_priv |
| tables_priv |
| time_zone |
| time_zone_leap_second |
| time_zone_name |
| time_zone_transition |
| time_zone_transition_type |
| user |
+---------------------------+
O MySQL 5.1 possui 23 tabelas no esquema mysql
+---------------------------+
| Tables_in_mysql |
+---------------------------+
| columns_priv |
| db |
| event |
| func |
| general_log |
| help_category |
| help_keyword |
| help_relation |
| help_topic |
| host |
| ndb_binlog_index |
| plugin |
| proc |
| procs_priv |
| servers |
| slow_log |
| tables_priv |
| time_zone |
| time_zone_leap_second |
| time_zone_name |
| time_zone_transition |
| time_zone_transition_type |
| user |
+---------------------------+
O MySQL 5.5 possui 24 tabelas no esquema mysql
+---------------------------+
| Tables_in_mysql |
+---------------------------+
| columns_priv |
| db |
| event |
| func |
| general_log |
| help_category |
| help_keyword |
| help_relation |
| help_topic |
| host |
| ndb_binlog_index |
| plugin |
| proc |
| procs_priv |
| proxies_priv |
| servers |
| slow_log |
| tables_priv |
| time_zone |
| time_zone_leap_second |
| time_zone_name |
| time_zone_transition |
| time_zone_transition_type |
| user |
+---------------------------+
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 com que as tabelas vitais para o MySQL 5.5 desaparecessem.
Aqui estão algumas boas notícias. Há algo que você pode tentar.
Para este exemplo
Aqui estão seus passos
É isso.
Se você estiver executando isso no Windows, os mesmos princípios devem ser aplicados.
Experimente!
ATUALIZAÇÃO 2011-07-29 16:15 EDT
Se os seus nomes de usuário tiverem privilégios específicos de banco de dados, aqui estão seus passos
The service could not be started. Error:0.
Adicione o caminho do MySQL às variáveis de ambiente.
parece que vc ja tem o mysql rodando
tente
ps ax|grep mysql
se vc ver alguma saída, provavelmente vc precisa pará-la (ou reiniciar a caixa).
se você não vir nenhuma saída, tente executar o mysqld sem demonizar e ver a saída.
Eu adicionei uma tag do Windows para ajudar as pessoas a responderem à pergunta.
Meu histórico não é windows, mas os principais se aplicam.
Existe um processo mysql em execução? Em caso afirmativo, você precisará eliminá-lo antes de desinstalar. Se ainda estivesse em execução quando você tentasse desinstalar / reinstalar, você teria processos e arquivos por perto, evitando a desinstalação completa.
Abra a janela de serviços, procure por qualquer coisa com o mysql no nome e assegure-se de que esteja configurado para não tentar iniciar com uma reinicialização. Em seguida, abra a aba de processos em execução da janela de programas em execução (use CTRL-ALT-DEL para abrir) e procure e mate processos em execução com o mysql no nome.
Se você está satisfeito que não há mais processos mysql em execução, você pode continuar. Você pode querer reinicializar para ter certeza de que não há mais processos mysql em execução por aí.
Neste momento você deve ser capaz de reinstalar e iniciar o mysql.
Execute o mysql-test-run e você deverá ver a seguinte saída:
./mysql-test-run
Logging: ./mysql-test-run
2013-09-14 03:39:32 2566 [Warning] Setting lower_case_table_names=2 because file system for /var/folders/fr/sn4l2f393_v_ytcwkb0lx7_40000gp/T/_M2mZFQPjV/ is case insensitive
2013-09-14 03:39:32 2566 [Note] Plugin 'FEDERATED' is disabled.
2013-09-14 03:39:32 2566 [Note] Binlog end
2013-09-14 03:39:32 2566 [Note] Shutting down plugin 'MyISAM'
2013-09-14 03:39:32 2566 [Note] Shutting down plugin 'CSV'
MySQL Version 5.6.13
Checking supported features...
- SSL connections supported
Using suites: main,sys_vars,binlog,federated,rpl,innodb,innodb_fts,perfschema,funcs_1,opt_trace,parts,auth_sec
Collecting tests...
- adding combinations for binlog
- adding combinations for rpl
Removing old var directory...
Creating var directory '/Users/das/mysql/mysql-5.6.13-osx10.7-x86_64/mysql-test/var'...
Installing system database...
Using server port 50409
==============================================================================
TEST RESULT TIME (ms) or COMMENT
--------------------------------------------------------------------------
Se você mover o seu datadir, você não apenas precisará fornecer as novas permissões de datadir, mas também precisará garantir que todos os diretórios pai tenham permissão.
Mudei meu datadir para um disco rígido, montado no Ubuntu como:
/media/*user*/Data/
e meu datadir era Bancos de dados .
Eu tive que definir permissões para 771 para cada mídia, usuário e diretórios de dados:
sudo chmod 771 *DIR*
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úvidas de alguns problemas em fazer isso de uma perspectiva de segurança.