2009-12-25 2 views
2

응용 프로그램의 testsuite가 실행될 때마다 빈 MySQL 데이터베이스에 대해 응용 프로그램을 테스트 할 수있게하려면 비어있는 사용자를 비 루트 사용자로 시작하려면 어떻게해야합니까? /tmp에 저장) MySQL 데이터베이스?코드 테스트를위한 "폐기"MySQL 세션을 시작 하시겠습니까?

내 응용 프로그램이 파이썬이고, 우분투 9.10에서 unittest을 사용하고 있습니다.

+0

'DROP DATABASE foo; CREATE DATABASE foo;'실행을 위해 실행중인 MySQL 서버에 대해 실행 하시겠습니까? – gahooa

+0

MySQL을 설치했지만 반드시 실행하고있는 시스템에서 서버를 시작하는 방법 (읽기 : command-to-run)을 찾고 있습니다. 내 사용자는 서버를 "정상적으로"시작할 권한이 없을 수도 있습니다. – lfaraone

답변

1

단지 데이터에 대한 --datadir 또는 --basedir

+1

실행을 원하는 전체 명령은 다음과 같습니다. mysqld --no-defaults --datadir $ SOME_TEMP_DIR - 소켓 mysql.socket --skip-grant – lfaraone

+0

--skip-networking을 추가하거나 --port를 3306이 아닌 다른 것으로 설정했습니다. 옵션 파일에 넣는 것도 좋다 : mysqld --defaults-file = my_testsuite.cnf (다른 옵션 파일은 무시할 것이다) – geertjanvdk

0

당신은 MySQL의에서 블랙홀과 메모리 테이블 유형을 시도 할 수 있습니다.

+1

IMHO, 응용 프로그램을 테스트 중이라면 사용할 저장소 엔진을 사용하는 것이 좋다 후에. – geertjanvdk

+0

@geertjanvdk : 물론, 다른 옵션을 알지 못했기 때문에 방금 질문을 올렸습니다 ... 우리는 항상 배우고 있습니다! =) –

관련 문제