독까의 이야기

윈도우에 설치 된 mysql 5.6 DB 백업 스케쥴 등록 필요.


1.  기본적으로 알려진 덤프 명령어를 이용 

C:/> mysqldump -uroot -p'PaSSword!@#' DBNAME > H:\mysql_Backup\DBNAME\DBNAME_%date%.sql
입력 하였으나 에러 출력

Warning: Using a password on the command line interface can be insecure.
mysqldump: Got error: 1045: Access denied for user 'root'@'::1' (using password: YES) when trying to connect



2.  구글 검색시 mysql 5.6 이상부터 발생되는 보안 이슈라고 함

mysql_config_editor 를 이용한 login-path 설정하면 해결 가능하다고 함

C:/> mysql_config_editor set --login-path=backup --host=localhost --user=root --password
Enter password : PaSSword!@#

확인 :
C:/> mysql_config_editor print --all
[backup]
user = root
password = *****
host = localhost



3.  덤프 명령어 재실행

C:/> mysqldump --login-path=backup DBNAME > H:\mysql_Backup\DBNAME\DBNAME_%date%.sql
입력 하였으나 에러 출력

mysqldump: Got error: 1045: Access denied for user 'root'@'::1' (using password: YES) when trying to connect



4.  또 구글 검색

login-path 생성시 패스워드에 특수 문자가 포함되는 경우에는 패스워드 입력 저장시 " " 큰따옴표로 묶어야 한다고 함
ex) Enter password: "PaSSword!@#"



5.  기존 login-path 삭제 후 재생성

C:/> mysql_config_editor remove --login-path=backup

C:/> mysql_config_editor set --login-path=backup --host=localhost --user=root --password
Enter password: "PaSSword!@#"



6.  덤프 명령어 재재실행

C:/> mysqldump --login-path=backup DBNAME > H:\mysql_Backup\DBNAME\DBNAME_%date%.sql

정상적으로 덤프 파일 생성 확인



7.  mysql 접속 후 등록 된 DB 리스트 확인

mysql> show databases;

출력 된 DB 리스트 취합하여 스크립트 생성 및 실행



8.  스키마 백업시 오류 발생 확인

mysqldump: Got error: 1044: Access denied for user 'root'@'::1' to database 'information_schema' when using LOCK TABLES

lock 이 걸려있는 DB 백업시에는 옵션 추가 :  --single-transaction

C:/> mysqldump --login-path=backup information_schema --single-transaction > H:\mysql_Backup\information_schema\information_schema_%date%.sql