Como instalar o mysql no Ubuntu 16.04


8

Estou seguindo este tutorial do oceano digital para o Ubuntu 14.04 para instalar o mysql no Ubuntu 16.04 para meus projetos Rails. Eu tinha, talvez errado, assumido que o procedimento seria o mesmo.

No entanto, quando executo o comando sudo mysql_install_db, recebo o seguinte erro:

2016-06-15 18:40:36 [WARNING] mysql_install_db is deprecated. Please consider switching to mysqld --initialize
2016-06-15 18:40:36 [ERROR]   The data directory needs to be specified.

Como posso concluir a instalação? Eu segui com sucesso o mesmo procedimento várias vezes no passado no Ubuntu 14.04.


4
E se você fizer o que isso sugere mysqld --initialize:?
21716 Jos

2
@Jos Ele dá o seguinte erro:mysqld: Can't create directory '/var/lib/mysql/' (Errcode: 17 - File exists) 2016-06-15T14:00:28.483462Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details). 2016-06-15T14:00:28.484374Z 0 [ERROR] Aborting
Jawad Khawaja

2
Provavelmente, você pode solucionar esse problema excluindo o diretório /var/lib/mysqle executando novamente o --initializeprocesso.
21416 Jos Jos

1
Obrigado por isso! Eu estava preocupado que isso pudesse causar problemas, pois continha vários arquivos. Mas funcionou. Eu concluí a instalação agora.
Jawad Khawaja

@ Jos Você deve postar seu comentário como resposta.
Byte Commander

Respostas:


9

A instalação do servidor MySQL envolve aproximadamente três etapas: 1) descompactar o software; 2) criar um banco de dados padrão; 3) criar um usuário / senha padrão (e armazená-lo no banco de dados).

Se você acidentalmente perder os arquivos do banco de dados (geralmente localizados em /var/lib/mysql), poderá iniciar novamente sem reinstalar completamente o pacote do servidor. Isso é feito com o comando mysqld --initialize. Se você executar este comando enquanto um banco de dados já estiver em vigor, ele reportará um erro ("O arquivo existe") e não tentará sobrescrever o banco de dados. No entanto, se você não tiver certeza se o procedimento de instalação foi concluído corretamente, não há problema em excluir o diretório /var/lib/mysqle reinicializar o banco de dados.

A --initializeflag fará com que o MySQL gere um usuário root e uma senha aleatória, que é gravada no arquivo de log. Para mais informações, consulte man mysqld.


Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.