Restaurando completamente o MySQL

1

Eu acabei de criar um servidor do CentOS 6. Eu instalei o mysql nele

yum install mysql-server

E depois que eu comecei o serviço MySQL, ele cuspiu no STDOUT um monte de coisas sobre a necessidade de mudar a senha na minha conta root. Eu corri

/usr/bin/mysql_secure_installation

e seguiu os prompts.

Eu percebi então que a versão do MySQL oferecida pelo repositório do CentOS está descontroladamente desatualizada, então eu desinstalei

service mysqld stop
yum remove mysql-*

Eu peguei o mais recente MySQL Community Server RPM do site da Oracle e usei

yum localinstall mysql-community-server-5.7.10-1.el6.x86_64.rpm
yum install mysql-community-server

Mas quando eu comecei, não recebi nenhuma mensagem STDOUT sobre a configuração de uma senha para meu usuário root e quando executei mysql_secure_installation novamente, ele não aceitou meus detalhes, seja com uma senha em branco ou com a senha que eu definido anteriormente:

Error: Access denied for user 'root'@'localhost' (using password: NO)
Error: Access denied for user 'root'@'localhost' (using password: YES)

Eu tentei desinstalar mysql-community-server, excluindo manualmente / var / lib / mysql, excluindo manualmente / usr / share / mysql e reinstalando o mysql-server, o pacote original que instalei, mas ainda não estou capaz de fazer login novamente no MySQL.

Eu também tentei usar

mysql_safe --init-file=/home/resetPassword.sql

com um arquivo que continha comandos para redefinir a conta do meu usuário root e até mesmo tentar criar uma nova conta de usuário root, mas isso acabou com a minha sessão SSH e não redefiniu minha senha.

Estou logado como root, então minha omissão de sudo não deveria importar.

Eu não tenho nenhum dado no banco de dados que eu precise preservar, gostaria apenas de poder excluí-lo completamente e começar do zero.

Obrigado,

YM

    
por Joshua Walsh 25.01.2016 / 09:48

1 resposta

0

Ok, consegui resolver esse problema, embora não tenha certeza de como.

Coisas que aprendi:

  • Verifique se todas as dependências são da versão mais recente, não execute algo em 5.7.xe algo mais em 5.5.x

  • Usar o sudo para o yum é realmente importante mesmo quando logado como root, pois caso contrário as permissões de arquivo não parecem estar corretamente configuradas

  • Excluindo o conteúdo de / var / lib / mysql e executando sudo mysqld --initialize redefine tudo

  • Quando um servidor MySQL é reinicializado, ele gera aleatoriamente uma senha temporária para o usuário raiz, que é salva em um arquivo de log. Eu não tenho certeza porque a primeira vez que eu instalei a senha não foi definida, talvez seja porque eu estava usando uma versão mais antiga do MySQL Server

  • A exclusão de /usr/share/mysql é uma má ideia, pois o arquivo errmsg.sys encontrado nele é difícil de reinstalar por algum motivo.

  • Ao tentar redefinir sua senha de root usando --init-file, verifique se a senha que você está configurando para atender aos requisitos atuais da política de senha.

Espero que algo nessa lista ajude outra pessoa.

    
por 25.01.2016 / 11:44