1. 원격으로 DB(schema) 접속하여, 백업파일 생성하기
- AWS 같이, MySQL이 타 서버에 위치해있을 경우
- mysqldump --host={백업할 schema ip주소} --port={백업할 schema port} --routines --triggers --bind-address=0.0.0.0 --user={백업할 schema user} --password={백업할 schema password} --databases {백업할 schema 명} > backup.sql
- mysqldump --host={백업할 schema ip주소} --port={백업할 schema port} --routines --triggers --bind-address=0.0.0.0 --user={백업할 schema user} --password={백업할 schema password} --databases {백업할 schema 명} > backup.sql
- MySQL 가 위치한 서버에 접속할 수 있을 경우
- mysqldump --host={백업할 schema ip주소} --port={백업할 schema port} --routines --triggers --user={백업할 schema user} --password={백업할 schema password} --databases {백업할 schema 명} > backup.sql
- mysqldump --host={백업할 schema ip주소} --port={백업할 schema port} --routines --triggers --user={백업할 schema user} --password={백업할 schema password} --databases {백업할 schema 명} > backup.sql
- Docker container 내부에 MySQL이 위치해있을 경우
- mysql container 에 접속하기
ex) docker exec -it {mysql conatiner 명} bash - mysqldump --host={백업할 schema ip주소} --port={백업할 schema port} --routines --triggers --user={백업할 schema user} --password={백업할 schema password} --databases {백업할 schema 명} > backup.sql
- mysql container 에 접속하기
2. DB(schema) 및 계정 생성하기
- mysql -u root -p # 새로운 mysql 접속하기
- create database {데이터베이스명}; # 새로운 DB 생성
- create user '{user 명}'@'%' identified by '{passwd}'; # 새로운 user 계정 생성
- grant all privileges on *.* to '{user 명}'@'%' with grant option; # 새로 생성한 user 에 권한 부여하기
- flush privileges; # 부여한 권한 적용하기
3. 백업한 파일로, DB(schema) 복구하기
- mysql -u {user명} -p --database={데이터베이스명} < backup.sql
※ 백업시 발생하는 오류 해결방법
- ERROR 2003 (HY000): Can't connect to MySQL server on
- (원인) 원격으로 접속하여 백업하려는 DB 에 , 현재 ip는 접속할 수 없을때 발생하는 오류메세지이다.
- (해결방법) sudo netstat -antp | grep mysql 명령어 로 확인 시, 127.0.0.1 로 뜬다면 아래 사이트 참고하여 설정 변경해준다.
- https://zetawiki.com/wiki/MySQL_ERROR_2003_(HY000):_Can't_connect_to_MySQL_server_on
- This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable)
- (원인) function 을 생성할 수 있는 권한이 없어서 발생한 오류이다.
- (해결방법) log_bin_trust_function_creators 옵션을 활성화하여, 권한을 부여한다.
권한 부여하는 방법은 아래 코드 참고한다.
SET GLOBAL log_bin_trust_function_creators = 1;
SET @@SQL_MODE='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION’;
반응형
'DB' 카테고리의 다른 글
ORA-01653: unable to extend table SYS.AUD$ 오류 해결방법 (0) | 2023.10.06 |
---|---|
ORA-39002: invalid file operation 오류 해결방법 (2) | 2023.10.04 |
간단하게 오라클 백업하는 방법 (import & export) (0) | 2023.10.04 |
tmux 로 jupyter notebook 끄지 않고, 다른 작업 동시에 실행하는 방법! (0) | 2020.07.09 |