2009-12-25 14 views
2

如果我希望能夠在每次運行我的應用程序的測試套件時針對空的MySQL數據庫測試我的應用程序,我如何以非root用戶身份啓動服務器,該用戶指向一個空的(未保存在任何地方或保存到/tmp)MySQL數據庫?爲測試代碼啓動「一次性」MySQL會話?

我的應用程序是Python,我在Ubuntu 9.10上使用unittest

+0

任何你不只是有'DROP DATABASE foo; CREATE DATABASE foo;'針對正在運行的MySQL服務器運行測試? – gahooa 2009-12-25 01:41:10

+0

我正在尋找一種方式(閱讀:運行命令)來啓動安裝了MySQL的系統上的服務器,但不一定在運行。我的用戶也可能沒有權限「正常」啓動服務器。 – lfaraone 2009-12-25 03:38:18

回答

1

--datadir只是數據或--basedir

+1

我最終想要運行的完整命令是: mysqld --no-defaults --datadir $ SOME_TEMP_DIR --socket mysql.socket --skip-grant – lfaraone 2009-12-25 04:27:50

+0

您可能還想添加--skip-networking或確保你把--port設置爲3306以外的東西。只是爲了確定。 把它們放在選項文件中也很好:mysqld --defaults-file = my_testsuite.cnf(它會忽略其他選項文件) – geertjanvdk 2009-12-26 11:48:44

0

您可以嘗試在MySQL中黑洞和內存表類型。

+1

恕我直言,如果你正在測試你的應用程序,最好使用它將使用的存儲引擎後來。 – geertjanvdk 2009-12-26 11:49:55

+0

@geertjanvdk:當然,我只是發佈我的問題,因爲我不知道任何其他選項......我們一直在學習! =) – 2009-12-26 12:31:20

相關問題