개발 환경이 변경되거나 솔루션을 판매할때 플랫폼에 필요한 시스템 데이터를 세팅해야 될 경우가 있다. 이를 위해 필요한 내용에 대해서 간단히 살펴보겠다.

 

Contents

- Workbench를 활용하여 MySQL 5.7에 저장된 데이터를 export & import 하는 방법

- 마스터 유저생성 및 권한할당

- 스카마 이름을 변경하는 방법

 

How to Export 

  1. Data Export to Self-Contained File
  2. Advanced Options → set-gtid-purged → OFF 설정

 

3. Export!

4. View를 사용한다면 xxx.sql을 열고, DEFINER의 계정을 확인하자. Import 하고자하는 계정으로 설정!

/*!50013 DEFINER=admin@% SQL SECURITY DEFINER */

 

Import

  1. Import from Self-Contained File
  2. Default Target Schema : 데이터베이스가 생성되어 있지않다면 생성하자.
  3. Import!

 

 


마스터 유저 생성 및 권한 할당

mysql> SHOW GRANTS for master_username; # 권한 확인

 

mysql> CREATE USER 'new_master_user'@'%' IDENTIFIED BY 'password'; # 새로운 마스터 유저 생성, 외부에서의 접근을 허용

mysql> GRANT ALL PRIVILEGES ON schema_name.* TO 'new_master_user'@'%' IDENTIFIED BY 'password'; # 모든 원격지에서의 schema_name 스키마의 모든 테이블에 대해서 new_aster_user 유저에게 모든 권한을 부여

 


스키마 이름 변경

RENAMTE TABLE Statement

RENAME TABLE
    tbl_name TO new_tbl_name
    [, tbl_name2 TO new_tbl_name2] ...

 

todos -> self_todolist 예시

RENAME TABLE todos.company TO self_todolist.company,
			 todos.todo TO self_todolist.todo,
             todos.todo_has_ref TO self_todolist.todo_has_ref,
             todos.user TO self_todolist.user,
             todos.user_auth TO self_todolist.user_auth,
             todos.user_grp TO self_todolist.user_grp,
             todos.user_role TO self_todolist.user_role,
             todos.user_role_has_user_auth TO self_todolist.user_role_has_user_auth

출처

- https://dev.mysql.com/doc/refman/5.6/en/rename-table.html

- https://www.quora.com/How-can-I-rename-a-schema-with-MySQL-Workbench-using-MySQL-5-6

- https://nickjoit.tistory.com/144

- https://aws.amazon.com/ko/premiumsupport/knowledge-center/duplicate-master-user-mysql/

+ Recent posts