MySQL 서버를 Linux의 서버에서 Windows의 서버로 복사해야합니다. mysqldump를 사용해 보았지만 Stored Procs를 포함하지 않는 것 같습니다. 나는한 서버에서 다른 서버로 MySql DB 복사
덕분에, 돈
MySQL 서버를 Linux의 서버에서 Windows의 서버로 복사해야합니다. mysqldump를 사용해 보았지만 Stored Procs를 포함하지 않는 것 같습니다. 나는한 서버에서 다른 서버로 MySql DB 복사
덕분에, 돈
당신은 mysqldump의 "--routines"옵션을 원하는 등 모든 것을, 즉 스키마, 데이터 저장, 발동, 트리거를 복사 할. 덤프 된 데이터베이스의
덤프 스토어드 루틴 (프로 시저 및 기능) : --routines 플래그에 대한 설명서에서
. 이 옵션을 사용하려면 mysql.proc 테이블에 대해 SELECT 권한이 필요합니다. - 루틴을 사용하여 생성 된 출력에는 루틴을 다시 작성하는 CREATE PROCEDURE 및 CREATE FUNCTION 문이 포함되어 있습니다. 그러나 이러한 문에는 루틴 생성과 수정 시간 소인과 같은 속성이 포함되지 않습니다. 즉, 을 의미합니다. 루틴이 다시로드되면 타임 스탬프가 다시로드 시간과 동일하게 만들어집니다.원래 타임 스탬프 속성으로 다시 작성된 루틴이 필요하면 - 루틴을 사용하지 마십시오. 대신 mysql.proc 테이블의 내용을 덤프하고 다시로드하십시오. 에는 mysql 데이터베이스에 대한 적절한 권한이있는 MySQL 계정을 사용하십시오.
이 옵션은 MySQL 5.1.2에 추가되었습니다. 그 전에는 저장된 루틴이 으로 덤프되지 않습니다. 루틴 DEFINER 값은 MySQL 5.1.8까지 으로 덤프되지 않습니다. 즉, 루틴이 다시로드 될 때 5.1.8 이전에 을 의미하며, 다시 작성 사용자에게 정의자를 으로 작성합니다. 원래 정의 자로 다시 작성된 루틴이 필요하면 의 내용을 앞서 설명한 으로 직접 덤프하고로드하십시오.
mysqldump -u root -p --routines --databases io \
| sed -e "s/;;/\$\$/g" \
> io.sql
덤프를 시도하십시오. 및 가져 오기 명령 :
mysql -u root -p --fource --databases io < io.sql