Postagens Tagged ‘MySQL’
Mudando a senha do root do Mysql 5 no CentOS 5
Sempre que preciso alterar a senha do root no mysql, preciso fazer o maior exercicio mental para lembrar dos passos ou acabar tendo que pesquisar em vários lugares novamente, então resolvi condensar e adaptar uma parte do próprio manual aqui para consultas rápidas:
Se você acabou de instalar o mysql e quer apenas atribuir uma senha ao root que, estranhamente, a senha default é… em branco, nada, nula, ou seja, não tem senha, basta inicializar o daemon do mysql e usar o mysqladmin para alterar:
# /etc/init.d/mysqld start # mysqladmin -u root password novasenha
Mas se já existe uma senha e voce a esqueceu ou precisa altera-la por algum motivo, então siga os passos:
1- Finalize o serviço do Mysql, no centos 5 você pode fazer isto de duas maneiras, a primeira é utilizando o script service em /sbin, para isto digite o comando:
# /sbin/service mysqld stop
Ou ainda utilizando o script do daemon diretamente em /etc/init.d/mysqld, para parar o mysql desta maneira digite o comando:
# /etc/init.d/mysqld stop
2 – Reinicie o
1 | mysqld |
com a opção
1 | --skip-grant-tables (para não lêr as tabelas de permissões), o comando para isto é: |
<div>::CODECOLORER_BLOCK_3::</div> </code>
1 | <code>3 – Agora alteramos a senha do root: |
<div>::CODECOLORER_BLOCK_5::</div>
1 | 4 – E finalmente reiniciamos o mysql: |
<div>::CODECOLORER_BLOCK_7::</div>
ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2)
O problema:
Você instala o MySQL e quando tenta fazer qualquer coisa (até mesmo alterar a senha do root), recebe a seguinte mensagem:
ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2)
Este é um problema obscuro no mysql, gastei varias horas tentando descobrir a causa, meu sistema operacional é o Linux CentOS, depois de alguma pesquisa descobri que pode acontecer também no windows, segundo uma post no forum do mysql isto ocorre por um dos motivo abaixo:
1. pelo fato de não se ter permissões de acesso ao diretorio /var/lib/mysql/whatever.sock. porque mysql é o dono desta pasta (legal, mas então porque me configurou para gravar o .sock lá?)
2. O /path/whatever.sock não existe (O que definitivamente não era o caso)
A Solução:
Então a solução oferecida pelo post é: editar o arquivo (Especificamente para o linux, em outro OS deve se procurar o mesmo arquivo) /etc/my.cnf e alterar/adicionar as seguintes linhas:
[mysqld]
datadir=/var/lib/mysql
socket=/tmp/mysql.sock
[client]
socket=/tmp/mysql.sock
A primeira tentativa pareceu frustrada mas ai percebi que o serviço mysqld estava parado, foi só inicializa-lo e tudo funcionou!
Link: http://forums.mysql.com/read.php?11,27769,59865