2017-02-02 4 views
1

저는 Test :: DBIX :: Class를 MySQL::Sandbox으로 설정하려고합니다. 내 설치 경고 메시지 때문에 정확하지 않은 것처럼하지만 보인다 :Test :: DBIX :: Class 용으로 어떻게 MySQL 샌드 박스를 설정합니까?

Test-DBIx-Class-0.52$ mysql_install_db=$HOME/opt/sandbox/mysql/5.5.54/bin/mysqld BASE_DIR=/tmp/sandboxes/msb_5_5_54 prove -l t/08-test-mysqld.t 
t/08-test-mysqld.t .. mysqld: Can't change dir to '/var/lib/mysql/' (Errcode: 13 - Permission denied) 
t/08-test-mysqld.t .. ok 
All tests successful. 
Files=1, Tests=7, 28 wallclock secs (0.02 usr 0.00 sys + 1.05 cusr 0.57 csys = 1.64 CPU) 
Result: PASS 

/var/lib/mysql/ 내 MySQL의 샌드 박스 설정의 일부가 아닙니다. 경고 메시지의 이유는 무엇입니까?

나는 테스트 목적으로 08-test-mysqld.t을 사용하고 있습니다.

내 MySQL의에서 SANbox 설정 :

$all_info = { 
       '5554' => { 
          'opt' => { 
            'datadir' => $HOME.'/sandboxes/msb_5_5_54/data', 
            'log_error' => 'msandbox.err', 
            'socket' => '/tmp/mysql_sandbox5554.sock', 
            'prompt' => '\'mysql [\\h] {\\u} (\\d) > \'', 
            'bind_address' => '127.0.0.1', 
            'tmpdir' => $HOME.'/sandboxes/msb_5_5_54/tmp', 
            'user' => 'me', 
            'lower_case_table_names' => '0', 
            'basedir' => $HOME.'/opt/sandbox/mysql/5.5.54', 
            'port' => '5554', 
            'pid_file' => $HOME.'/sandboxes/msb_5_5_54/data/mysql_sandbox5554.pid', 
            'password' => 'msandbox' 
            }, 
          'conf' => undef 
         } 
      }; 
+0

08-test-mysqld.t에 코드를 표시해 주실 수 있습니까? 어떻게 사용됩니까? – simbabque

+0

[08-test-mysqld.t] (https://st.aticpan.org/source/NEWELLC/Test-DBIx-Class-0.52/t/08-test-mysqld.t) – palik

+0

오. Test :: DBIx :: Class를 설치하려고합니까? – simbabque

답변

0

경고 메시지는 Test::mysqld::_use_mysqld_initialize에서 생성되고 무시 될 수 있습니다. MYSQL_INSTALL_DB를 설정 한 후 그것을 잘 작동합니다 :

을 여기에 내 현재 테스트 설정 :

export SB_DIR=$HOME/opt/sandbox/mysql/5.5.54 
Test-DBIx-Class-0.52$ MYSQLD=$SB_DIR/bin/mysqld \ 
MYSQL_INSTALL_DB=$SB_DIR/scripts/mysql_install_db \ 
KEEP_DB=1 \ 
prove -lv t/08-test-mysqld.t 

KEEP_DB 진단 목적 helpfull입니다.

관련 문제