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.

Jawad Khawaja
fonte
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.

Jos
fonte
5

Primeiro verifique a versão do Mysql usando mysql --version.

Se você tiver a versão 5.7.6 ou posterior, o diretório de dados será inicializado automaticamente e não precisará ser executado sudo mysql_install_db.

mais algumas informações sobre a instalação do mysql no servidor DigitalOcean estão em https://www.digitalocean.com/community/tutorials/how-to-install-mysql-on-ubuntu-14-04

Faisal M
fonte