Alterando a senha do usuário root no MySQL

Algumas vezes já me deparei com a dificuldade de tentar me lembrar qual era mesmo a senha que eu havia definido para o usuário root nos servidores com MySQL… depois de algumas vezes decidi guardar esta dica em algum lugar que me facilitasse recuperar quando necessário, e lá foi ela pra minha incrível base de conhecimentos em arquivo texto indexada pelo grep ;) . Bem, como tudo evolui, a base de conhecimentos em arquivo texto transformou-se neste blog e mais uma dica fará parte dele agora (não que a solução anterior estivesse ruim, mas infelizmente não era pública).

Para alterar a senha do usuário root siga os seguintes passos:

Linux:

  1. Parar o serviço do MySQL (service mysqld stop, /etc/init.d/mysqld stop, matando o processo – conforme sua distribuição);
  2. Reiniciar o mysql com a opção –skip-grant-tables (você poderá utilizá-la ao iniciar o mysqld manuamente ou colocando-a no arquivo de init)
  3. Alterar a senha do usuário root com o comando:
    # mysqladmin -u root password 'nova_senha'
    # mysqladmin flush-privileges
    

    você pode alterar a senha também com o comando:

    # mysql -u root mysql
    mysql> UPDATE user SET Password=PASSWORD('nova_senha') WHERE User='root';
    mysql> FLUSH PRIVILEGES;
    

Windows XP (com o MySQL rodando como serviço):

  1. Entrar nos serviços do windows (Iniciar -> Executar -> services.msc);
  2. Procure pelo MySQL, clique com o botão direito sobre ele e vá em propriedades;
  3. Pare o serviço (clicando sobre o botão parar);
  4. Insira no campo “Parâmetros de inicialização” o parâmetro –skip-grant-tables e clique no botão iniciar e em seguida botão Ok;
  5. Execute o cmd (Iniciar -> Executar -> cmd) , entre no diretório de binários do MySQL (cd c:\arquivos de programas\mysql\bin (ou onde estiver instalado));
  6. Alterar a senha do usuário root com o comando:
    mysqladmin -u root password 'nova_senha'
     mysqladmin flush-privileges
    

    você pode alterar a senha também com o comando:

    mysql -u root mysql
    mysql> UPDATE user SET Password=PASSWORD('nova_senha') WHERE User='root';
    mysql> FLUSH PRIVILEGES;
    

O parâmetro –skip-grant-tables desabilita no servidor o uso do sistema de privilégios. Com isso todos os usuários terão acesso a todos os bancos de dados. Ao executar o comando Flush privileges, o servidor retorna a utilizar seu sistema de privilégios, mantendo a segurança original do serviço.

Agora se você adicionou o parâmetro –skip-grant-tables no arquivo de init, não se esqueca de remové-lo de lá, para evitar que na próxima reinicialização do serviço ele fique vulnerável. Caso seu MySQL esteja no Windows, execute os 4 primeiros passos novamente removendo o parâmetro passado na inicialização.

Update: O Artigo foi adaptado também para apresentar a troca de senhas no ambiente windows conforme sugestão do Carlos Henrique.

Primeiras impressões do MSN Search e Windows Desktop Search

Foi lançado hoje (pelo menos foi hoje que recebi o e-mail da Microsoft) a nova ferramenta de pesquisa da Microsoft: o MSN Search. Fiz alguns testes, e achei a ferramenta bem legal com alguns recursos de pesquisa avançada, configurações, etc.
Continue reading

RDP via Web

Imagine você poder disponibilizar dentro da Intranet da sua empresa, um link para o seu servidor de aplicações? não seria mais fácil e rápido a publicação de novos serviços? é, se você utiliza o Metaframe da Citrix com certeza já possui esta facilidade, mas se utiliza o Desktop Services da Microsoft, já é um pouco mais complicado.

Pra facilitar, nesta página é possível encontrar um controle ActiveX que permite o acesso RDP (Remote Desktop Protocol) via web. ?? necessário ter o IIS instalado.

Até ai tudo bem, você terá uma interface que permita conectar no servidor RDP utilizando a tela do browser… mas E SE você quiser que a sessão abra em uma janela de RDP, e que de preferência já seja fornecido o nome do servidor, nome do usuário, e outras informações necessárias? (até a senha em alguns casos?) Bem, ai você pode seguir as sugestões descritas no artigo Extending Microsoft’s Terminal Services Client To Provide Seamless Windows.

Basicamente crie um arquivo .htm com o conteúdo disponível na seção Publishing Applications On the Web e altere as informações:

  • MsRdpClient.server : Nome do servidor que deseja se conectar;
  • MsRdpClient.UserName : Nome do usuário;
  • MsRdpClient.AdvancedSettings.ClearTextPassword : Senha em texto plano (não recomendável);
  • MsRdpClient.SecuredSettings.StartProgram : Aplicação a ser iniciada;
  • MsRdpClient.Domain : Domínio da rede;
  • MsRdpClient.FullScreen : Tela cheia? (TRUE|FALSE);
  • MsRdpClient.Width : Largura da janela;
  • MsRdpClient.Height : Altura da janela;
  • MsRdpClient.AdvancedSettings2.RedirectDrives : Mapear os drives locais (TRUE|FALSE);
  • MsRdpClient.AdvancedSettings2.RedirectPrinters : Mapear impressoras locais (TRUE|FALSE);
  • MsRdpClient.AdvancedSettings2.RedirectPorts : Mapear portas seriais locais (TRUE|FALSE);

Em seguida basta acesar o arquivo e pronto! conexão estabelecida..