Mudando a senha do root do Mysql 5 no CentOS 5

April 15th, 2009 No Comments   Postado em Linux, MySQL

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)

May 9th, 2008 No Comments   Postado em Linux, MySQL

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




Tags: ,