quinta-feira, 26 de setembro de 2013

Como recuperar senha do usuário Postgres

Como recuperar a senha do usuário Postgres 

Logue no servidor como root e utilize o comando abaixo para abrir uma sessão como Postgres no sistema. Isto é opcional, pois você pode editar o arquivo como root se quiser: 

# su - postgres 

Antes de definirmos uma nova senha, é preciso alterar um parâmetro no arquivo “pg_hba.conf”. 

Neste arquivo, configuramos como os clientes, usuários e etc, serão autenticados no Servidor. 

Como método de autenticação, temos os seguintes modos: 

trust - reject - md5 - password - gss - sspi - krb5 - ident - pam - ldap - cert 

Abaixo, reproduzo o conteúdo do arquivo. 

# TYPE    DATABASE    USER    CIDR-ADDRESS    METHOD
# “local” is for Unix domain socket connections only
local     all         all                     ident
# IPv4 local connections:
host      all         all     127.0.0.1/32   ident
# IPv4 local connections:
host      all         all     ::1/128            ident

Não vou abordar todos os modos, pois não é nosso objetivo. O que será útil neste momento, é método 'trust'. 

Utilize o editor de sua preferência e altere a última coluna, de maneira que fique assim: 

# TYPE    DATABASE    USER    CIDR-ADDRESS    METHOD
# “local” is for Unix domain socket connections only
local     all         all                     trust

Para que as alterações tenham efeito, dê um "restart" no daemon do Servidor. 

* Tenha cuidado, e somente altere se for esta a finalidade. 

Terminado o processo, volte com a configuração que estava, por uma questão de segurança, é claro! 

# service postgresql restart 

Ainda no terminal, obtenha o Login do usuário Postgres, e execute a ferramenta 'psql'. 

Note que não será necessário senha para se logar, exatamente por causa da diretiva ‘trust’ que inserimos no arquivo “pg_hba.conf”. 

$ psql 

No Prompt do Postgres, digite: 

postgres-# ALTER ROLE postgres PASSWORD 'novasenha'; 

Resolver problema "Got error 127 from table handler" no MySQL


Para resolver o problema "Got error 127 from table handler" em uma tabela é rápido:
 

mysql> repair table tabela 

Exemplo:

mysql> repair table clientes ;

Este erro é causado principalmente quando alguém copia e cola o conteúdo da pasta MySQL pensando que está realizando um backup do BD. 

MySQL - Comandos básicos

Acessando banco como root: 

# mysql -u root -p 

Criando base de dados guiadoti:

mysql> create DATABASE guiadoti;

Selecionar banco:

mysql> USE guiadoti;

Mostrar tabelas:

mysql> show tables;

Criando tabela:

mysql> create TABLE endereco (
id_endereco smallint NOT NULL,
rua varchar(100) NOT NULL,
bairro varchar(25) NOT NULL,
cidade varchar(25),
primary key(id_endereco)
);


Visualizar colunas da tabela:

mysql> DESC endereco;

Inserindo coluna na tabela:

mysql> ALTER TABLE endereco ADD pais varchar(25);

Remover chave primária da tabela:

mysql> ALTER TABLE endereco DROP primary key; Inserindo chave primária na tabela:

mysql> ALTER TABLE endereco ADD PRIMARY KEY(id_endereco);

Modificar definições de uma coluna:

mysql> ALTER TABLE endereco MODIFY bairro varchar(50);

Excluir coluna da tabela:

mysql> ALTER TABLE endereco DROP cidade;

Renomear tabela:

mysql> ALTER TABLE endereco RENAME localizacao;

Deletar uma tabela:

mysql> DROP TABLE localizacao;

Deletar uma base de dados: