Diário de Viagens e Trabalhos do Pajé
26jan/105

Dicas e comandos básicos para MySQL e Postgres

Já faz algum tempo que venho inserindo em um arquivo algumas dicas para os backends MySQl e Postgres, pois sempre esquecia algum detalhe e esse aquivo facilitou e facilita até hoje minha vida.
Depois de documentado no twiki da Cobra, agora segue para a comunidade.

Dicas e comandos MySQL
Criar usuário root.
mysql> grant all privileges on *.* to root@"%" with grant option;

Colocar senha no usuário root.
mysql> set password for root@localhost=password('XXXXXXXXXXX');

Gerar Dump de uma database especifica.
# mysqldump -u root -p mysql > mysql.sql

Restaurar Dump em uma database especifica.
# mysql -u root -p mysql < mysql.sql

Gerar Dump de todas as databases.
# mysqldump --all-databases -u root -p > mysql_all.sql

Restaurar Dump de todas as databases .
# mysql -u root -p < mysql_all.sqla

Criar base de dados.
# mysqladmin -u root -p create joomlaa
Ou:
# mysql -u root -p mysql> create joomla

Criar usuário simples.
# mysql gallery2 -u root -p -e "GRANT ALL ON basededados.* TO usuario@host IDENTIFIED BY 'senha'"
Ou:
mysql> GRANT ALL ON basededados.* TO usuario@host IDENTIFIED BY 'senha';
mysql> flush privileges;

Removendo uma base de dados.
mysql> drop database basededados;

Removendo um usuário.
mysql> use mysql;
mysql> delete from user where user='usuario';
mysql> fluash privileges;

Trocando senha de um usuário.
mysql> UPDATE user SET Password=PASSWORD('novasenha') WHERE user='usuario';
Ou:
# mysqladmin -u usuario -p novasenha

Tocar senha Admin do DotProject.
mysql> use dotprojectdb;
mysql> update users set user_password = md5('novasenha') where user_username = 'admin';

Liberando acessos para usuários (não localhost).
mysql> grant all privileges on basededados.* to usuario@'xxx.xxx.xxx.xxx';
mysql> flush privileges;

Para todos os Hosts:
mysql> grant all privileges on *.* to 'usuario'@'%' identified by 'senha';

Trocar senha de root caso tenha esquecido:
# /etc/init.d/mysql stop
# mysqld_safe --skip-grant-tables & echo "Update user set Password=PASSWORD('$ROOTMYSQL') Where User='root';" | mysql -u root mysql

# /etc/init.d/mysql stop
# /etc/init.d/mysql start

Dicas e comandos Postgres

Entrar com usuário postgres e entrar no ambiente pgsql .
# su portgres
$ pgsql

Criar usuário no banco.
$ createuser docmgruser

Criar uma base de dados.
$ createdb -h host -W -U usuario basededados
Ou:
$ createdb basededados

Logando em uma base passando parâmetro.
$ psql template1

Conectando em uma base de dados remotamente.
$ psql -h host -W -U usuario -d basededados

Rodar script em uma base especifica.
$ psql -h host -W -U usuario -d basededados -f script.pgsql

Gerar Dump de uma base especifica.
$ pg_dump -Fc basededados > basededadps.dump.gz
Ou:
$ pg_dump basededados > basededados.sql

Restaurar o Dump de uma base especifica.
$ pg_restore -Fc -d basededados < basededadps.dump.gz
Ou:
$ pg_restore -d basededados < basededados.sql

Gerando um Dump de todas as bases do Postgres.
$ pg_dumpall | gzip > all.gzl
Ou:
$ pg_dumpall > all.sql

Restaurando o Dump completo.
$ cat all.gzl | gunzip | psql template1
Ou:
$ psql template1 < all.sql

Restrições de acesso.
$ psql template1
template1=# alter user usuario NOCREATEUSER NOCREATEDB;
ALTER USER
template1=# \q

Alterar o dono de uma nova base de dados.
postgres=# ALTER DATABASE basededados OWNER TO usuario;

Trocar a senha de um usuário.
postgres=# ALTER USER usuario WITH PASSWORD 'novasenha';

Iniciar manualmente uma base Postgres manualmente passando parâmetros.
# /usr/local/pgsql/bin/pg_ctl -D /opt/postgres/data -l /var/log/postmaster.log start

Espero ter ajudado.

Comentários (5) Trackbacks (0)
  1. Edmilson,
    parabéns pelo post. Foi muito Util!
    Posso deixar a sugestão de adicional ao post como alterar a senha de Admin do Postgres?
    Abs

  2. Opa… fique a vontade para colocar sugestões ok. Abraços obrigado.

  3. Lembrando…se quiser somente trocar a senha, use:
    # alter user postgres with encrypted password ‘SENHANOVA';

  4. show de bola, parabéns, me ajudou legal aqui no pgsql

  5. Valeu Tiago.
    Muito bom receber esse feedback do trabalho realizado. Espero ajudar cada vez mais.
    Abraços.


Leave a comment


*

Sem trackbacks