O akonadi do KDE define a senha de root do mysql com um valor não vazio e não consigo encontrá-la

3

Recentemente, configurei o openSUSE 12.2 vm e escolhi o KDE como área de trabalho. O KDE (4.3) vem com um aplicativo chamado 'akonadi' que usa o mysql. O resultado é que o mysql parece vir pré-configurado com uma senha root não vazia. O motivo de eu configurar um openSUSE vm é que escrevi um script de instalação para alguns softwares e quero que ele funcione no openSUSE. No fedora / rh, posso prever que o mysql seja instalado com uma senha root vazia e depois fazer com que o usuário execute mysql_secure_installation. No debian / ubuntu, o debconf faz com que o usuário digite a senha root do mysql durante a instalação do servidor mysql. Mas eu provavelmente sempre escolhi o gnome antes, então talvez isso não funcione se eu escolher o kde.

De qualquer forma, minha pergunta se resume a: Sério? O kde realmente define uma senha root não vazia ao configurar o mysql para o akonadi? e realmente? É realmente mais difícil do que pesquisar no Google o que está definido? E, finalmente, (cabeça baixa) alguém pode me dizer como descobrir isso?

Obrigado!

Jason

Jason
fonte

Respostas:

0

Você pode forçar o MySQL / MariaDB a definir sua senha root iniciando o processo como root (sem rede) e efetuando login sem senha, depois executando um ALTER USERpara alterar a senha root. A maior parte disso eu li aqui . O procedimento é um pouco diferente no MariaDB, mas deve ser sintaticamente equivalente.

Eu apenas tive que fazer isso na Comunidade MySQL 5.7.18 (no Fedora 24), então sabe-se que funciona em pelo menos um sistema.

  1. Interrompa todas as mysqldinstâncias enviando-as SIGTERM(por exemplo, através htop) ou desligando-as do seu gerente de serviço ( sudo systemctl stop mysqld.service)
  2. Inicie o MySQL como usuário raiz do sistema e coloque-o em segundo plano com:

    $ sudo mysqld --skip-grant-tables --skip-networking --user=root &
    
  3. Agora que o MySQL está em execução (e terrivelmente vulnerável, daí o --skip-networkingargumento), faça o login:

    $ sudo mysql -u root
    
  4. Carregue a tabela de usuário do MySQL para que possamos editá-la:

    mysql> FLUSH PRIVILEGES;
    
  5. Defina uma nova senha para o usuário root do MySQL. Certifique-se de escapar corretamente de qualquer personagem engraçado.

    mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'correct \'horse\' battery staple';
    mysql> exit;
    
  6. Envie outro MySQL SIGTERM:

    $ sudo kill `cat /var/run/mysqld/mysqld.pid`
    
  7. Inicie o MySQL normalmente novamente:

    $ sudo systemctl start mysqld.service
    
  8. Verifique se agora você pode efetuar login com a senha do usuário root do MySQL:

    $ mysql -u root -p
    

Você será solicitado a digitar a senha e pronto!

Tullo_x86
fonte