Como reinicializar arquivos / var / lib / mysql?


15

Devido a um acidente, excluí todo o diretório / var / lib / mysql. Como o banco de dados não continha nada de importante, não quero passar pelo trabalho de restaurá-lo de um backup antigo, mas criar a estrutura de diretórios do zero. Como faço isso sem reinstalar o MySQL?

Respostas:


17

Você deve ser capaz de executar a mysql_install_dbpartir da linha de comando

mysql_install_db inicializa o diretório de dados do MySQL e cria as tabelas do sistema que ele contém, se elas não existirem. Ele também inicializa o espaço de tabela do sistema e as estruturas de dados relacionadas necessárias para gerenciar as tabelas do InnoDB. A partir do MySQL 5.6.8, o mysql_install_db é um script Perl e pode ser usado em qualquer sistema com o Perl instalado. Antes da versão 5.6.8, ele é um script de shell e está disponível apenas nas plataformas Unix.

Por favor, leia a documentação do MySQL na íntegra pormysql_install_db , então ...

DE UMA CHANCE !!!

Se não funcionar na primeira tentativa, faça isso

mkdir /var/lib/mysql
mkdir /var/lib/mysql/mysql
chown -R mysql:mysql /var/lib/mysql 

então corra mysql_install_dbnovamente


Funcionou na primeira tentativa. Valeu. A senha é outro problema.
Konrad Gajewski


você também pode precisar restorecon -r /var/lib/mysqlse o SELinux está habilitado
Mahmoud Mostafa

9

Para o MySQL 5.7> apenas:

# Move or remove the original dir
mv /var/lib/mysql /tmp/mysql

# Create a new dir
mkdir /var/lib/mysql

# Change owner to mysql (user and group)
chown -R mysql:mysql /var/lib/mysql

# Create MySQL initial data
mysqld --initialize

1
a única resposta que trabalhou para mim
Bahaa Odeh

mysql Ver 14,14 Distrib 5.7.22, para Linux (x86_64), utilizando invólucro editline
Bahaa Odeh
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.