Categoria: Linux(BancoDados);

Clonando um banco de dados do MySQL

Então prezado leitor,

Depois de um tempo sem postar, tenho mais uma à apresentar;
Presta atenção com calma, lê bem antes de executar!

Os tempo sem postar não quer dizer eu desistí;
Quer dizer prepara aí, que tem vários POST por vir!

Se liga nessa, não tenha pressa, que o tal do BASH é bom à beça.

Essa dica é pra comunidade ligada na administração de MySQL. Maneira simples de fazer uma clonagem de um banco pra outro:

Em suma, isso gera um dump:

$ mysqldump > dumpfile

E isso faz load no novo banco recém criado:

$ mysq < dumpfile

Por exemplo, agora com todos os parâmetros na íntegra, veja como os comandos ficariam em meu ambiente.
Vamos supor que tenho um banco chamado banco01 e desejo cloná-lo em cima do banco02:

$ mysqldump -u smallbee -p –host mysql.smallbee.com.br banco01 > dumpfile.sql

Para fazer load no banco novo (depois de criado é lógico):

$ mysql -u smallbee -p –host mysql.smallbee.com.br banco02 < dumpfile.sql

Por: Hudson Murilo dos Santos
Referências: man mysql && man mysqldump

Recuperando a senha de root do MySQL

Quem nunca perdeu a senha de root do MySQL?
Poisé, aqui tem bem resumido como fazer pra recuperar.. Vamos aos comandos:

Primeiro passo é verificar se o seu MySQL está realmente parado:

[root@vostrolab ~]# /etc/init.d/mysqld status
mysqld is stopped

Segundo passo é criar um arquivo de inicialização pro banco de dados:

[root@vostrolab ~]# vim /var/lib/mysql/mysql-init

No exemplo acima utilizei o vim mas você pode utilizar o seu editor de texto predileto(nano, jed, joe, gedit, emacs e por aí vai…). Dentro do arquivo de configuração você pode colocar o seguinte conteúdo:

UPDATE mysql.user SET Password=PASSWORD(‘123456‘) WHERE User=’root’;
FLUSH PRIVILEGES;

Este comando acima será responsável por alterar a tabela mysql.user configurando sua nova senha para o usuário root. Note que grifei em vermelho acima onde você deve configurar sua nova senha.

Agora basta iniciar o MySQL em modo seguro e apontando para o seu arquivo de inicialização que acabamos de configurar. Para isso usamos o mysqld_safe conforme abaixo:

mysqld_safe –init-file=/var/lib/mysql/mysql-init &

Para testar, basta tentar conectar novamente no MySQL com a nova senha:

[root@vostrolab ~]# mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or g.
Your MySQL connection id is 2
Server version: 5.1.56 Source distribution

Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
This software comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to modify and redistribute it under the GPL v2 license

Type ‘help;’ or ‘h’ for help. Type ‘c’ to clear the current input statement.

mysql>

Feito… Agora basta parar o serviço mysqld_safe e iniciá-lo do modo convencional, que tudo estará funcionando normalmente com sua nova senha…

[root@vostrolab ~]# /etc/init.d/mysqld stop
110609 22:45:59 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended
Stopping mysqld:                                           [  OK  ]
[1]+  Done                    mysqld_safe –init-file=/var/lib/mysql/mysql-init

[root@vostrolab ~]# /etc/init.d/mysqld start
Starting mysqld:                                           [  OK  ]

Por: Hudson Murilo dos Santos
Referências: http://dev.mysql.com/doc/refman/5.0/en/resetting-permissions.html