DB/MySQL

이것이MySQL이다 - 02) MySQL 유틸리티 사용법

록's 2023. 2. 2. 17:45
728x90
반응형
[INSTANCE] 부분
[Server Logs]
서버에 기록된 오류, 경고, 방화벽 등의 로그 확인
[Options File]
MySQL의 핵심 설정 파일인 my.ini 파일

파일 설정 내용을 GUI 모드로 보여줌

 

 

[PERFORMANCE] 부분
[Dashboard]
네트워크, MySQL 서버, InnoDB의 상태를 그래픽으로 보여줌
 

 

[PERFORMANCE] 부분
[Performance Reports]
입출력이 오래 걸린 파일, 비용이 많이 든 쿼리문, 데이터베이스 통계 등의 항목들 조회
결과 내보내기 가능
[Performance Schema Setup]
성능에 대한 설정
오른쪽 위 <Show Advanced> <Hide Advanced> 클릭하 세부적인 설정 확인 가능
 

 

 

 

쿼리 창 (Query Editor)

쿼리 문장(SQL 구문)을 입력/실행하는 텍스트 에디터
쿼리 창 사용 방법
Workbench의 상단 제일 왼쪽의 <Create a new SQL tab for executing queries> 아이콘 클릭  또는Workbench 메뉴의 [File] >> [New Query Tab]을 클릭해 쿼리 창 열기
작업할 데이터베이스를 [Schemas] 탭에서 더블클릭해 선택
SQL문 문법에 맞게 입력
SQL 구문에 이상이 없다면 툴바의 <Execute the selected portion~~> 아이콘을 클릭하거나

   Ctrl + Shift + Enter  눌러서 SQL 문장 실행

아래쪽의 결과 창을 통해 결과 확인

성공된 결과 또는 오류 메시지 확인

 

 

쿼리 창 (Query Editor)

한번 연 쿼리 창은 계속해서 SQL 입력해 사용 가능
 

 

 

Workbench의 편리한 기능

쿼리 창에서 개체 드래그 해서 자동 완성 기능
 
 
 
예약어 대문자나 소문자로 변경하기
[Edit] >> [Format] 활용
UPCACE Keywords 선택  대문자로 변경
lowercase Keywords 선택  소문자로 변경
 
 
 
 

Workbench의 편리한 기능

SQL 코드나 설명의 주석처리 방법
주석 처리 할 부분 드래그 후 [Edit] >>[Format] >> [Un/Comment Selection] 선택
한줄은  -- ', 여러줄은  /* */ ‘로 주석 처리 가능
 

 
여러 개의 SQL  실행 가능
모든 SQL문을 실행하지 않는다면 일부만 드래그 선택해 실행
 
결과를 다양한 방식으로 필터링하거 파일 형태 저장 가능
 
실행되는 SQL 문 실행 계획 확인 가능
결과 창의 오른쪽 제일 아래로 내려서 [Execution Plan] 클릭
결과의 그림에 마우스를 올려놓으면 상세한 내용도 확인 가능

 

외부 MySQL 서버 관리하기

 

네트워크 환경 비교

Windows 1대에 서버와 클라이언트가 모두 설치된 상태
 
Linux 설치된 MySQL ServerWindows에 설치된 Workbench가 접속된 상태
 

 

 

WorkbenchLinux MySQL 서버에 접속한 경우 주의해야 할 점

Linux 컴퓨터 방화벽 설정
MySQL의 포트인 3306번을 허용하도록 설정해야
Linux 컴퓨터의 IP주소를 알고 있어야
Windows 컴퓨터의 Workbench에서 Linux 컴퓨터로 연결고리 만들어 놓아야

 

 

 

사용자 관리하기

 

DB 사용자 관리의 필요성

현재까지 사용 방법
MySQL 관리자인 root로 접속해 사용
실무에서의 문제
MySQL 데이터베이스를

   다양한 사용자나

   응용프로그램에서 접속해 사용함

모든 사용자가 관리자로 접속을 한다면

   데이터가 유출되거나 증발하는

   끔찍한 일이 일어날수 있음

 

 

 

 

 

 

MySQL의 사용자 및 역할/권한 관리 실습

팀장님 (Director)
데이터베이스 관리자(DBA)의 역할 부여
Workbench 실행하고 [Local instance MySQL]을 클릭해서 접속
사용자를 생성하는 권한은 root에게만 있음
[Navigator][Administration] à [Users and Privileges] 클릭
 

 

 

팀장님 (Director)
데이터베이스 관리자(DBA)의 역할 부여
[Users and Privileges] 창에서 왼쪽 아래 <Add Account> 클릭한 후 [Login] 탭의 [Login Name]에 ‘director’ 입력
비밀번호 입력하고 <Apply> 클릭 à director 사용자 등록 확인

 

 

 

 

팀장님 (Director)
데이터베이스 관리자(DBA)의 역할 부여
[Account Limits] 탭으로 쿼리 한계 설정 à 0은 제한 없음
[Administrative Roles]에서는 MySQL 자체에 대한 권한 설정
[Role]<DBA> 체크하여 모든권한 설정 적용

 

 

 

사장 (CEO)
MySQL의 모든 데이터에 읽기 (Select)  권한 부여
계정 등록방법은 ‘팀장님’의 경우와 같음
[Administrative Roles] 탭 클릭
사장님은 MySQL읽기(Select)로 계획되어 있음
[Global Privileges] 중에서 <SELECT> 체크

왼쪽 Role 중에 <Custom>이 자동으로 체크

 

 

 

 

일반직원 (staff)
ShopDB 데이터베이스의 모든 테이블에 대해 읽기(Select) , 쓰기 (Insert , Update, Delete) 권한 부여
스토어드 프로시저 등을 생성(Create Routine) 하고 수정( Alter Routine) 할 수 있는 권한 부여

 

 

일반직원 (staff)
employees 데이터베이스의 테이블에 대해서는 읽기(Select) 권한만 부여

 

사용자별 권한 확인

 

728x90
반응형