2016-06-08 7 views
0

프로덕션으로 이동해야하는 프로젝트가 있습니다 (처음으로). 데이터베이스는 수십 개의 테이블과 프로 시저/함수를 포함합니다. 그들은 모두 ROOT 사용자 (예, 내가 아는 나쁜 습관) 아래에서 만들어졌습니다.MySql 개발에서 프로덕션으로 다른 사용자로 이동

이제 모든 것을 프로덕션으로 이동해야하며 분명히 MySQL ROOT 사용자가 아닙니다.

나는 다음을 수행 생각,하지만 난 그것으로 참여하기 전에 전문가의 의견을 부탁드립니다 :

  1. mysqldump -u root -p -R MySB > dump.sql을 사용하여 백업을 받기
  2. 편집, 파일 및 (correct_userroot의 모든 인스턴스를 교체 correct_user 모든 테이블과 루틴),
  3. 을 소유 MySQL 사용자 될 경우,
  4. R을 생산 DB 내에서 동일한 사용자를 만듭니다 덤프 파일의 estore는 mysqldump -u correct_user -p -R MySB < dump.sql을 사용합니다.

내 계획이 맞는지 또는 더 좋은 (더 공식적인) 방법이 있다면 누구에게 말해 줄 수 있습니까?

감사합니다.

+1

아주 좋아 보인다. – Daniel

+0

다른 참조 시스템에서도 동일한 작업을 수행하십시오. 작동하는 경우 대답이 – DaveyBoy

+0

불행히도 @DaveyBoy,이 체크를하기 위해 사용할 수있는 ** 모든 목적 ** 시스템이 없습니다. 이것이 내가 전문가의 견해를 밝히고있는 이유입니다. – FDavidov

답변

0

MySQL의 테이블에는 소유자이 없습니다. 사용자를 걱정하지 않아도됩니다.

절차, 함수, 트리거, 이벤트 및 뷰는 "정의 자"이라고합니다. 코드가 실행되는 사용자입니다. 이 번호는 루트에서 변경해야합니다. 새 사용자에게 충분한 권한이 있는지 확인하십시오. 그는 루틴 내에서 코드를 실행하는 데 필요한 권한 만 있으면됩니다.

단계가 정확합니다. 그러나 최종로드 (4)는 루트 또는 최고 특권을 가진 사용자로 수행해야합니다.

+0

의도 한대로 (그리고 묘사 된) 모든 것이 필요에 따라 작동하는 것으로 보입니다. 감사합니다 @PavelKatiushyn !! – FDavidov