..:: MX Studio Fóruns ::..: Como parar o serviço do Mysql através do PHP ?? - ..:: MX Studio Fóruns ::..

Jump to content

Publicidade




ATENÇÃO

Para evitar posts desnecessários e que não influam para o andamento e desenvolvimento do fórum, clique aqui e leia todas as regras.
Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Como parar o serviço do Mysql através do PHP ?? Tem alguma função para fazer isso??

#1 User is offline   webroger 

  • Group: Membros
  • Posts: 89
  • Joined: 19-October 05

Posted 05 February 2007 - 02:59 PM

Olá pessoal, preciso realizar back-up automatico do meu banco de dados MySQL, e copiar a pasta 'data' do mysql, no qual fica a pasta da minha base de dados e as tabelas com seus repectivos dados.
Preciso fazer isso com o PHP. Entao preciso para o serviço do MySQL através do PHP.
Como parar o serviço do Mysql através do PHP ?? Tem alguma função para fazer isso??

Espero retorno.
Desde ja agradeço.

Roger Taipina
0

#2 User is offline   fabianowd 

  • Group: Colunistas
  • Posts: 309
  • Joined: 20-March 04

Posted 05 February 2007 - 03:38 PM

unsure.gif Até onde eu li a respeito do mysql (pouco, mas já dá pro gasto), não adianta nada você fazer backup dos arquivos da pasta data do mysql. Você não consegue recuperar os dados depois, utilizando esses arquivos.

O ideal é você fazer um dump da base num arquivo texto (normalmente salvo com a extensão .sql) e utilizar esse dump pra retornar os dados no futuro. O próprio mysql disponibiliza uma função em linha de comando chamada mysqldump, que já gera o arquivo pra você com tudo que precisa.

Mas se você realmente deseja fazer o que está pensando, já tentou a função System ou a função shell_exec? Com elas você consegue inserir comandos como se estivesse dentro do terminal da máquina. Com os privilégios do usuário do apache, claro, mas você consegue enviar comandos como "/etc/init.d/mysql stop".

thumbsup.gif Espero que ajude!
0

#3 User is offline   webroger 

  • Group: Membros
  • Posts: 89
  • Joined: 19-October 05

Posted 06 February 2007 - 10:49 AM


Cara, obrigado pela dica.. bom, o que eu ja li sobre copiar a pasta de dados do mysql, daria pra voltar com os dados perfeitamente.. mas foi bom vc me falar isso, pois vou procurar saber mais.

eu achei a função:

win32_stop_service
(PECL)

win32_stop_service -- Para um servico do windows
Descrição
int win32_stop_service ( string nomedoservico [, string machine] )


Stops a named service. Requires administrative privileges.
mas vou tentar aqui.. desde ja agradeço.

Webroger
----------------------------------------------------------------------

QUOTE(fabianowd @ 5/2/2007 14:02:41) View Post
unsure.gif Até onde eu li a respeito do mysql (pouco, mas já dá pro gasto), não adianta nada você fazer backup dos arquivos da pasta data do mysql. Você não consegue recuperar os dados depois, utilizando esses arquivos.

O ideal é você fazer um dump da base num arquivo texto (normalmente salvo com a extensão .sql) e utilizar esse dump pra retornar os dados no futuro. O próprio mysql disponibiliza uma função em linha de comando chamada mysqldump, que já gera o arquivo pra você com tudo que precisa.

Mas se você realmente deseja fazer o que está pensando, já tentou a função System ou a função shell_exec? Com elas você consegue inserir comandos como se estivesse dentro do terminal da máquina. Com os privilégios do usuário do apache, claro, mas você consegue enviar comandos como "/etc/init.d/mysql stop".

thumbsup.gif Espero que ajude!


0

#4 User is offline   Carlos Moraes 

  • Group: Membros
  • Posts: 1
  • Joined: 18-December 08

Posted 18 December 2008 - 06:38 PM

Olá Roger,

Estava procurando ajuda para umas dúvidas e li o seu pedido de apoio para cópia do banco de dados e não pude deixar de comentar.

Acredito que você deveria seguir a sugestão do Fabiano e utilizar o procedimento comentado por ele. O DUMP é o procedimento correto para backup do seu banco de dados, pois ele pode ser acionado com o banco de dados no ar.

Quando se copia os arquivos você poderá ter vários problemas, mas somente 2 já justificam não utilizá-lo, são eles:

1) Você não pode copiar somente os arquivos do banco pois algumas informações estão gravadas nas tabelas de controle do Mysql. Isso até se resolve baixando o banco, porém, não é muito prático parar o banco cada vez que for fazer um backup,

2) Você poderá ter todos os seus dados comprometidos no caso de upgrades de versão do mysql, onde, simplesmente os dados poderão estar inacessíveis quando vc quizer recuperá-los.

O MYSQLDUMP gera um arquivo texto com toda a estrutura do banco das tabelas e conteúdo dos dados, podendo inclusive com um pouco de trabalho, transportar essas bases para outros banco de dados.


Segue um arquivo BAT com script de geração do DUMP e um para restore.

a) DUMP ( bkmysql.bat use assim -> bkpmysql nomedoarquivo )

@ECHO OFF

SET mysqldir=C:\EasyPHP 2.0b1\mysql\bin
CD %mysqldir%

if not exist "D:\bkpmysql" mkdir "D:\bkpmysql"
SET dirback=D:\bkpmysql

SET mysqluser=""
SET mysqlpassword=123

mysqldump -u %mysqluser% -p%mysqlpassword% --databases vale2008 >%dirback%\BKP%1.sql

cd c:
cd \


b) RESTORE ( remysql.bat use assim -> remysql nomedoarquivo.sql )

@ECHO OFF

SET mysqldir=C:\EasyPHP 2.0b1\mysql\bin
CD %mysqldir%

SET dirback=D:\bkpmysql

SET mysqluser=""
SET mysqlpassword=123

mysql -u %mysqluser% -p%mysqlpassword% <%dirback%\%1

cd c:
cd \


Espero ter ajudado.

Carlos.










0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic



Publicidade




1 User(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)