database.sarang.net
UserID
Passwd
Database
DBMS
ㆍMySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MySQL Q&A 27698 게시물 읽기
No. 27698
백업을 위한 ShellExecute이용방법...
작성자
고영호(elechos)
작성일
2008-07-25 09:41
조회수
5,788

안녕하세요?


Mysql 백업을 위해 ShellApi함수를 이용하여 아래와 같이 했는데 실행이 안됩니다. 무엇이 문제인지 도움을 주시면 감사하겠습니다. 

(아래는 델파이 코드입니다.)


var

    Command, Params : String;


begin


   Command := 'C:\program files\mysql\mysql server 4.1\bin\mysqldump.exe';

   Params := ' -u root -p 12345 App > test.sql';

   ShellExecute(Handle, 'open', PChar(Command), PChar(Params), '', SW_HIDE);


end;

이 글에 대한 댓글이 총 3건 있습니다.

흠...일단 -p 옵션은 패스워드와 공백이 들어가면 안됩니다. -p12345 이렇게...

그리고 ShellExecute 나 WinExec 등에서...아마도 리다이렉션이나 파이프가 안될꺼에여...-.-a 예전에 한번 어떻게 어떻게 해결했던거 같은데 기억이 안나는군요...orz..(흠 CreateProcess두 안돼넹? 흠...)

걍 편하게 하실려면...덤프받는 명령어를 배치파일로 만들어놓고 그 배치파일을 호출하는식으로 하심 되겟죠...배치파일도 파라미터를 받을수 있으니 아이디나 암호 같은건 파라미터로 넘겨주심 좋겟죠...


team b(teamb)님이 2008-07-25 13:35에 작성한 댓글입니다.
아래와 같이 고치니까 잘 되는데요, 별 문제 없겠죠?

ShellExecute(handle,'open', 'cmd.exe', Pchar('/C "c:\program files\mysql\mysql server 4.1\bin\mysqldump.exe" -u root -p12345 App > test.sql'),nil,SW_SHOW);



그리구요, mysql 이 설치된 드라이브를 알고 싶은데 예전에는 windows폴더에 my.ini가 있어서 basedir을 참조하면 되었었는데, 4.1부터는 설치된 곳에 위치하고 있어서 참조가 어렵고...
basedir을 mysql서버로 접속해서 알아낼 수 있는 방법을 알려주세요..^^
고영호(elechos)님이 2008-07-25 16:07에 작성한 댓글입니다.
이 댓글은 2008-07-25 16:11에 마지막으로 수정되었습니다.
아하.. cmd.exe /c 로.... 그렇군요...흠..아깐 왜 안됐었지? ㅋ 다시 해봐야겟군요

basedir 구하는거는....

서버접속하면 show
variables 때리면 각종변수들을 확인할수 있습니다.

그리고 환경파일의 위치 찾는것은 그다지 어렵지 않습니다. 델마당에는 간단히 방법론만 제시해놨는데 좀더 구체적인 예를 하나 들어볼까요?

흠, MySQL 데몬이 서비스에 등록이 되어 있다면 이 서비스명을 찾아서 구하시면 됩니다. 관련정보는 레지스터리에 등록되어 있는데..

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services

에서 참고 하시면 되겟죠. 물론 서비스명이 다를수 있으니 imagepath 라는 하위키를 가지고 있는 것들만 검사해서 있으면 mysqld 를 포함하는지 확인하면 됩니다.

imagepath 의 값을 한번 보시면 대충 감 잡으실겁니다. 

그럼...
team b(teamb)님이 2008-07-25 16:56에 작성한 댓글입니다.
이 댓글은 2008-07-25 16:57에 마지막으로 수정되었습니다.
[Top]
No.
제목
작성자
작성일
조회
27703Group By에서 Datetime_Format의 적용범위는?
김희찬
2008-07-28
4116
277015.1 에서 이노디비 사용시 ( innodb )
jindogg
2008-07-26
6013
27699디비 업데이트 할때요
debbie77
2008-07-25
4120
27698백업을 위한 ShellExecute이용방법... [3]
고영호
2008-07-25
5788
27697이런 질문을 여기에 올려도 될까 모르겠는대... [2]
김지인
2008-07-25
3951
27696MySQL 4.0.26 을 쓰고있는데요. character set 설정때문에 질문드립니다. [2]
송은우
2008-07-24
4611
27694mysql 저장데이터 관련 질문입니다.. [4]
김윤정
2008-07-23
4152
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.019초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다