EC2에서 실행되는 MySQL에서 기존 Amazon DB를 새로운 Amazon RDS 인스턴스 (이동할 수 있는지 실험)로 옮기려고했습니다. 지금까지는 잘 진행되지 않습니다. 복제를 설정하기 전에 초기 가져 오기에 멈췄습니다 ( 여기 지침 ).
설명 된대로 RDS 인스턴스를 준비했으며 mysql을 사용하여 EC2 인스턴스에서 연결할 수 있습니다. mysqldump 명령을 다음과 같이 실행했습니다.
mysqldump --master-data --databases db1 db2 > dump.sql
그런 다음 다음을 사용하여 RDS에 업로드를 시도했습니다.
mysql -h RDSHost -P 3306 -u rdsuser --password=rdspassword < dump.sql
첫 번째 문제는 덤프 22 행에있었습니다.
MASTER_LOG_FILE = 'mysql-bin.000002'로 마스터 변경, MASTER_LOG_POS = 106;
이 줄로 인해 오류가 발생했습니다 ERROR 1227 (42000) at line 22: Access denied; you need (at least one of) the SUPER privilege(s) for this operation
. 문제 없습니다. 해당 라인을 주석 처리하고 나중에 mysql.rds_set_external_master ()를 통해 수정하려고합니다. 업로드를 재 시도하고 매우 유사한 오류가 발생했습니다 : ERROR 1227 (42000) at line 7844: Access denied; you need (at least one of) the SUPER privilege(s) for this operation
. 7844 행 주위의 섹션은 다음과 같습니다.
/*!50001 CREATE ALGORITHM=UNDEFINED */
/*!50013 DEFINER=`dev`@`localhost` SQL SECURITY DEFINER */
/*!50001 VIEW `jos_contributor_ids_view` AS select `jos_resource_contributors_view`.`uidNumber` AS `uidNumber` from `jos_resource_contributors_view` union select `jos_wiki_contributors_view`.`uidNumber` AS `uidNumber` from `jos_wiki_contributors_view` */;
처음 두 줄을 주석 처리하고 세 번째 줄에 'CREATE'를 추가하면이 줄을 지나갈 수있었습니다. 그러나 거기 톤 이 같은 섹션은. 모든 편집 없이이 방법을 사용할 수 있습니까? mysqldump
슈퍼 특권이 필요한 것을 생산하지 않는 옵션처럼 ?
sed
mysqldump / mysqlbinlog의 출력에 대해 실행 해야하는 것과 같이 많은 사람들이 비슷한 문제를 겪고있는 것처럼 보입니다 ! AWS 포럼에도 게시 할 예정입니다. 실제로 RDS에는 mysqldump에서 가져 오는 더 관용적 인 방법이나 기존 db에 대해 실행할 수있는 특정 도구가 있어야 RDS 보안에 불만이있는 덤프를 만들 수 있다고 생각합니다. 누군가 여기에 도움이 될 다른 요리법이나 트릭이 있는지 궁금합니다.
감사,
데이브
--masterdata=2
입니다. 그런 다음 해당 줄은 덤프에서 주석 처리됩니다.
log_bin_trust_function_creators
1 매개 변수를 여전히 줄에서 7844. 같은 오류를 얻을 수