2014-09-02 2 views
0

나는 이와 같은 mysql 가져 오기 스크립트를 사용합니다.MySql 가져 오기 동결

내 데이터는 가져 왔지만 콘솔이 정지 된 것을 확인했습니다.

[email protected]****:/var/tmp# sudo mysql -u root -p < /var/tmp/db.sql 
Enter password: 

콘솔을 다시 가져 오려면 STRG+C을 입력해야합니다. 첫째로 나는 수입이 많은 시간을 필요로한다고 생각했다. 그러나 나는 몇 시간을 기다릴 수있다. 콘솔은 돌아 오지 않는다.

우분투에 있는데, mysql 파일은 약 1GB입니다.

스크립트가 콘솔을 고정시키는 이유는 무엇입니까?

감사합니다.

답변

0

나는 내 자신으로 대답을 찾았다 고 생각합니다.

/etc/mysql/my.cnf

[mysqld] 
init_connect='SET autocommit=0' 

이 설정 지금, 수입은 약 2 분 정도 소요됩니다.

1

1GB 가져 오기에는 몇 시간이 걸렸습니까? 그건 정상이 아니야. 어떤 프로세스가 시간을 보내고 있는지 알아야합니다.

이 시도 :

$ ps -ef|grep [m]ysql 

다음 프로세스 ID를 확인하고,

$ strace -cp <pid> 

다음 그것을^C를 10 초 분 남기기. 프로세스가 그 시간을 어디서 보내고 있는지 알려줄 것입니다. 당신이 독서와 지배를 보았다면 그것은 단지 디스크를 기다리고있을 수 있습니다.

+0

가져 오기 시간이 걸리지 않았습니다. 5/10 분 후에 데이터가 들어있는 모든 데이터베이스를 볼 수 있지만 위에서 언급 한 것처럼 콘솔이 정지됩니다. 콘솔을 다시 사용하려면'STRG + C '를 입력해야합니다. – Stillmatic1985

+0

내 db.sql에 둘 이상의 데이터베이스 가져 오기가 있기 때문에 제안 된 방법을 사용할 수 없습니다. 내가 strace를 시도한다면 나는 어떤 결과물도 얻지 못했다. mysql 로그에는 어떤 정보도 없습니다. 왜 콘솔이 얼어 버릴지 몰라. ( – Stillmatic1985