Como criar uma estrutura de diretório de banco de dados para o MySQL?

1

Eu estava seguindo este tutorial:

link

Até agora, eu instalei o mysql-server mysql-client libmysqlclient-dev , e eu deveria dizer ao MySQL para criar sua estrutura de diretório de banco de dados onde ele armazenará seus arquivos. informações usando sudo mysql_install_db .

$ sudo mysql_install_db

[WARNING] mysql_install_db is deprecated. Please consider switching to mysqld --initialize
[ERROR]   The data directory needs to be specified.

Eu achei que executar mysqld --initialize resolveria o problema:

$ mysqld --initialize 

mysqld: Can't create directory '/var/lib/mysql/' (Errcode: 17 - File exists)
[Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
[ERROR] Aborting

Como eu digo ao MySQL para criar sua estrutura de diretório de banco de dados onde armazenará suas informações?

    
por hussam 12.07.2016 / 10:00

1 resposta

2

Consegui resolver o problema usando uma pergunta respondida anteriormente como instalar o mysql no Ubuntu 16.04, mas eu precisava modificar a solução para trabalhar para mim.

Quando eu deletei / movi o diretório /var/lib/mysql , mysqld --initialize não pôde criar o diretório do banco de dados que eu quero em substituição a /var/lib/mysql , e ele me deu Errcode: 13 - Permission denied embora eu tenha precedido com sudo .

Eu deletei / movi o conteúdo de /var/lib/mysql/ , mas não o diretório em si. Tentei executar novamente o sudo mysql --initialize e ele funcionou e criou um novo conteúdo dentro do diretório /var/lib/mysql/ . O conteúdo produzido por mysql --initialize é diferente do conteúdo anterior que eu deletei / movi.

Continuei o resto das etapas do tutorial e trabalhei perfeitamente.

P.S. Eu precisava usar sudo -i para acessar /var/lib/mysql .

    
por hussam 12.07.2016 / 11:12