--- title: "MySQL 사용 가이드" slug: "database-mysql-mysqlconsole" tags: ["MySQL"] updated: 2026-09-17T09:09:23Z published: 2026-09-17T09:09:23Z canonical: "guide-fin.ncloud-docs.com/database-mysql-mysqlconsole" --- > ## Documentation Index > Fetch the complete documentation index at: https://guide-fin.ncloud-docs.com/llms.txt > Use this file to discover all available pages before exploring further. # MySQL 사용 가이드 ## 시작하기 전에 ### MySQL 설치형 서비스 관리 MySQL 설치형 서비스에서 관련되는 관리 방법을 설명합니다. #### MySQL 이미지 서버 생성 MySQL이 설치된 인스턴스 서버를 생성하면 아래와 같이 네이버 클라우드 플랫폼에 표준화된 my.cnf의 환경을 가진 MySQL Daemon이 Startup되어 생성된 후 Daemon 기동까지 완료된 후 제공됩니다. **my.cnf** my.cnf의 파라미터(Parameter) 설명은 아래와 같습니다. | 속성 | 설명 | | --- | --- | | expire_logs_days = 7 | log-bin으로 설정된 로그 크기가 커지는 것을 방지하기 위해 7일간 저장하도록 합니다. | | innodb_file_per_table | InnoDB 테이블 생성 시 InnoDB Global Tablespace를 사용하면, 테이블 삭제 시 이미 늘어난 물리 크기는 줄어들지 않습니다. innodb_file_per_table 옵션을 사용하면 InnoDB 테이블 생성 시 테이블당 파일을 생성하고 테이블 삭제 시 해당 파일이 삭제되어 물리 공간을 확보할 수 있습니다. | | innodb_log_file_size | Heavy Traffic이 들어오는 경우 CheckPoint로 인한 병목을 방지하기 위해 innodb_log_file_size 옵션을 늘립니다. Variables을 조정하기 위해서는 DB Restart가 필요함. | | iinnodb_log_files_in_group | innodb_log_file의 개수를 지정합니다. Rotation을 위해 2개 이상을 권고합니다. | | default_storage_engine | Online-DDL 및 Transction 사용이 가능한 InnoDB로 표준 지정합니다. | | query_cache_type query_cache_size | DB 기동 후 query_cache를 사용자가 동적으로 ON/OFF할 수 있도록 ON/0으로 설정합니다. 이후 서비스 상황에 맞도록 조정합니다. | | sysdate-is-now | sysdate를 사용하는 경우 Replication 구성에서 Master-Slave 간의 데이터 처리 시간이 다를 경우 Time Type 데이터가 다를 수 있어 sysdate의 경우 자동으로 now를 replace합니다. | | log_timestamps = SYSTEM(5.7 only) | MySQL 5.7에서 LogTime이 UTC으로 되어있어 SYSTEM Local TIME으로 변경합니다. | MySQL 설치된 디렉터리는 아래와 같습니다. | 속성 | 설명 | | --- | --- | | DATADIR | /var/lib/mysql/ | | SLOW_LOG | /var/lib/mysql/*slow.log | | ERROR_LOG | /var/log/mysqld.log - CentOS /var/log/mysql/error.log - Ubuntu | | my.cnf | /etc/my.cnf - CentOS /etc/mysql/my.cnf - Ubuntu. | | sqlstatus_nCloud | /usr/bin/sqlstatus_nCloud | ## 가입 절차 MySQL을 사용하려면 네이버 클라우드 플랫폼[Financial]에서 제공하는 콘솔 및 리소스 등을 이용하기 위해 네이버 클라우드 플랫폼의 계정이 필요합니다. 네이버 클라우드 플랫폼[Financial]에 가입하면 모든 서비스를 이용하실 수 있으며, 사용한 서비스에 대해서만 요금이 청구됩니다. 이미 계정이 있는 경우에는 해당 단계를 건너뛸 수 있습니다. - [포털](https://www.fin-ncloud.com)로 이동합니다. - 오른쪽 상단에 [회원가입] 버튼을 클릭하여 [회원가입] 페이지로 이동합니다. - 서비스 이용 약관 및 개인정보수집이용에 대한 안내 문구를 확인하고 동의합니다. - 법인 및 담당자 정보를 입력합니다. - 결제수단은 직접입금과 자동이체를 선택하실 수 있습니다. - 가입한 ID/PW를 통해 로그인하고 결제수단 선택 및 등록을 완료합니다. - 담당자의 가입정보 및 금융회원여부 검증 후 승인이 완료되면 SSL VPN 계정이 발급되어 메일로 전송됩니다. - SSL VPN Client 접속 툴을 설치하고 실행하여, 발급된 SSL VPN 계정으로 로그인합니다. - Financial 콘솔은 Financial 포털에 로그인하여 **Console** 버튼을 클릭하거나, 도메인(`www.fin-ncloud.com`)을 직접 입력하여 접속 후 사용가능합니다. 참고 [포털](https://www.fin-ncloud.com)에서 가입한 계정으로 **콘솔**에서도 동일하게 사용이 가능합니다. 네이버 클라우드 플랫폼[Financial] 서비스를 사용하기 위해서는 반드시 SSL VPN 접속을 통해 이용가능합니다. ## 서버 생성하기 ### 콘솔 접속 - 콘솔에서 **Menu** > **All Services** > **Compute** > **Server** 메뉴로 이동합니다. - 서버를 생성하려면 **[서버 생성]** 버튼을 클릭합니다. ### 서버 이미지 선택 - 목록에서 OS Version에 해당하는 MySQL Version을 체크한 후 하단의 **[다음]** 버튼을 선택합니다. ### 서버 설정 - 원하는 VPC를 선택합니다. - 원하는 Subnet을 선택합니다. - 원하는 서버 타입을 선택합니다. - 일부 서버 스펙은 부팅 디스크 타입에 따라 지원되지 않을 수 있습니다. - 필요한 목적에 따라 Compact와 Standard 서버 타입을 선택하세요. - 요금제는 월요금제 또는 시간 요금제 중 선택할 수 있습니다. - 서버 이름을 입력합니다. - 고객이 서버를 구별하기 위한 명칭으로, 중복해서 사용할 수 없습니다. - Network Interface를 추가합니다. - 서버 설정을 마친 후 **[다음]** 버튼을 클릭합니다. ### 인증키 설정 **[새로운 인증키 생성]** - 새로운 인증키 생성을 선택합니다. - 인증키 이름을 입력합니다. - **[인증키 생성 및 저장]** 버튼을 클릭합니다. - 새로운 인증키를 발급받습니다. - 저장 후 인증키는 고객의 PC 안전한 위치에 보관해주세요. - 인증키는 최초의 관리자 비밀번호를 가져올 때 이용됩니다. - **다음** 버튼을 클릭합니다. **[보유하고 있는 인증키 이용]** - **보유하고 있는 인증키 이용**을 선택합니다. ### 네트워크 접근 설정 ACG(Access Control Group)를 생성하거나 보유하고 있는 ACG를 선택합니다. ### 최종 확인 설정한 내용을 최종 확인합니다. - 서버 이미지, 서버, 인증키, 네트워크, ACG가 정상적으로 설정되었는지 확인합니다. - 최종 확인 후에는 서버 생성 버튼을 클릭합니다. - 서버가 생성되기까지는 수 분이 소요됩니다. 생성한 서버를 리스트에서 확인합니다. 생성한 서버가 목록에 표시됩니다. (설명 추가 - 어떤 내용을 확인할 수 있는지 설명) ## 접속 환경 설정하기 ### SSL VPN 접속 Financial Cloud의 서비스를 사용하기 위해서는 **필수적으로 SSL VPN을 접속**해야만 합니다. SSL VPN을 사용하기 위해서는 아래와 같이 수행해야합니다. 자세한 사항은 네이버 클라우드 플랫폼의 [SSL VPN 가이드](/docs/sslvpn-start-vpc)를 참고 부탁 드립니다. 1. 콘솔에서 **Menu** > **All Services** > **Security** > **SSL VPN** 메뉴로 이동합니다. 2. **SSL VPN 생성** 버튼을 클릭합니다. 3. 스펙 및 인증 방식을 선택합니다. 4. 인증 방식에 따라 사용자를 설정합니다. ## 서버 접속하기 ### 서버 관리자 비밀번호 확인하기 - 서버 목록에서 접속하려는 서버를 선택하고, **서버 관리 및 설정 변경**의 **관리자 비밀번호 확인**을 클릭합니다. - **마우스로 파일을 끌고 오거나 여기를 클릭하세요.** 버튼을 통해 서버 생성 시에 등록한 인증키 파일을 첨부합니다. - 서버 생성 시에 다운로드한 인증키 파일은 안전한 위치에 보관하시기 바랍니다. - **비밀번호 확인** 버튼을 클릭하면 첨부된 파일에서 비밀번호 가져오기를 실행합니다. - 서버 이름, 관리자, 비밀번호를 확인하고 **확인** 버튼을 클릭합니다. ### ACG 설정 MySQL이 설치된 인스턴스 서버에 접근할 수 있도록 DB 서버의 ACG를 설정합니다. ![image.png](https://cdn.document360.io/0406ed95-101f-4cde-8dd8-308d03444a94/Images/Documentation/image%2863%29.png?sv=2026-02-06&spr=https&st=2026-11-07T17%3A18%3A56Z&se=2026-11-07T18%3A18%3A56Z&sr=c&sp=r&sig=Npqw3ZOoV1PGmTCcCnPTM%2Bujn4dWbpnwI0bFolRdB%2Fs%3D) ![image.png](https://cdn.document360.io/0406ed95-101f-4cde-8dd8-308d03444a94/Images/Documentation/image%2864%29.png?sv=2026-02-06&spr=https&st=2026-11-07T17%3A18%3A56Z&se=2026-11-07T18%3A18%3A56Z&sr=c&sp=r&sig=Npqw3ZOoV1PGmTCcCnPTM%2Bujn4dWbpnwI0bFolRdB%2Fs%3D) ![image.png](https://cdn.document360.io/0406ed95-101f-4cde-8dd8-308d03444a94/Images/Documentation/image%2865%29.png?sv=2026-02-06&spr=https&st=2026-11-07T17%3A18%3A56Z&se=2026-11-07T18%3A18%3A56Z&sr=c&sp=r&sig=Npqw3ZOoV1PGmTCcCnPTM%2Bujn4dWbpnwI0bFolRdB%2Fs%3D) ![image.png](https://cdn.document360.io/0406ed95-101f-4cde-8dd8-308d03444a94/Images/Documentation/image%2866%29.png?sv=2026-02-06&spr=https&st=2026-11-07T17%3A18%3A56Z&se=2026-11-07T18%3A18%3A56Z&sr=c&sp=r&sig=Npqw3ZOoV1PGmTCcCnPTM%2Bujn4dWbpnwI0bFolRdB%2Fs%3D) - 웹 서버 또는 응용 애플리케이션에서 DB 서버에 접근하려면 접근을 원하는 서버 IP 주소 또는 서버가 속한 ACG를 MySQL 서버 이미지와 함께 생성된 ACG에 추가해야 합니다. - ssh 로 서버 접근을 위해서는 22 포트를 허용해야 합니다. - MySQL 접속을 위해선 3306 포트를 허용해야 합니다. - 자세한 ACG 설정 및 접근 방법은 [ACG 사용 가이드](/docs/server-acg-vpc)를 참고해 주십시오. ### 터미널을 통한 서버 접속 터미널 프로그램을 사용하여 아래와 같이 접속합니다. - PORT: 포트번호 - 패스워드: 관리자 비밀번호에 출력된 패스워드(초기 패스워드는 반드시 변경합니다.) `ssh -p [PORT] root@[공인IP]` ### 서버 이미지 생성 이후 - 서버 생성 이후 바로 사용하지 않을 경우 보안 위험을 예방하기 위해 **MySQL Daemon을 Shutdown합니다.** - 생성된 MySQL의 경우 패스워드가 설정되지 않았기 때문에 **반드시 패스워드 설정**을 합니다. ### MySQL 기동 정지 및 접속 절차 - MySQL Daemon 기동 및 정지는 아래와 같은 명령어로 실행합니다. - CentOS `shell> /sbin/service mysqld start` `shell> /sbin/service mysqld stop` - Ubuntu `Shell> /usr/sbin/service mysql start` `Shell> /usr/sbin/service mysql stop` - MySQL Daemon 구동 유무는 아래와 같은 명령어로 확인합니다. `Shell> ps -ef | grep mysqld` - 결과: mysqld/mysqld 프로세스가 보여야 합니다. - 네이버 클라우드 플랫폼에서 생성한 MySQL은 아래 명령어로 접속합니다. `Shell> mysql -uroot` - MySQL Password 정책에 따라 초기 패스워드는 지정되지 않습니다. - root Password의 경우 설정하지 않으므로 보안 침해 방지를 위해 **최초 접속 시 반드시 패스워드 변경을 합니다.** - root 패스워드는 아래 명령어로 사용하여 변경합니다. - MySQL 5.6 `mysql> set password=password('패스워드');` - MySQL 5.7 `mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '패스워드';` - MySQL Built-in Password 기본 정책은 아래와 같습니다. - 최소 길이 8자 이상 - 특수문자 1개 이상 - 숫자 1개 이상 - 대소문자 조합 1개 이상 ### MySQL 이미지 서버 반납 네이버 클라우드 플랫폼에서 MySQL이 생성된 서버 반납 시 아래와 같은 절차 이후 반납하기를 권장합니다. - MySQL에서 저장한 데이터 백업 - 백업된 데이터의 경우 Download이후 별도 보관 - MySQL Daemon 정지 - mysql이 저장된 Data Directory 삭제 - 예: rm ‐rf /var/lib/mysql - 네이버 클라우드 플랫폼 콘솔에서 [정지] > [반납] 순서로 선택하여 반납을 진행합니다. ### MySQL 외부접속 허용 Ubuntu에서 MySQL을 사용하는 경우 Default Parameter로 인해 Localhost에서만 접속이 가능합니다. 이에 외부접속이 가능하도록 아래와 같은 예로 가이드합니다. - MySQL DB 접속 - 계정 권한 부여 예: GRANT ALL PRIVILEGES ON *.* to '계정명'@'%' IDENTIFIED BY '비밀번호'; - 환경파일 수정 예: sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf - bind-address 주석처리 `# By Default we only accept connections from localhost` `# bind-address = 127.0.0.1` - MySQL 재시작 ## SQLSTATUS 네이버 클라우드 플랫폼에서 제공하는 MySQL 서비스에는 CLI(Command Line Interface) 형태의 모니터링 프로그램이 제공됩니다. - 해당 프로그램 **nCloud 서버 이외에 외부 유출 및 임의로 변경이나 변조하는 경우를 금지**하고 있습니다. #### 개요 MySQL의 내부 Status를 1초 단위로 볼 수 있도록 Binary 형태로 제공합니다. 1초간의 MySQL Status를 Display를 하여 Real-Time으로 DB의 상태 변화를 볼 수 있습니다. #### 사용법 sqlstatus_nCloud에서 사용할 계정 생성(Default 계정으로 포함) `GRANT PROCESS, SHOW DATABASES, SUPER, EXECUTE, REPLICATION CLIENT ON *.* TO 'sqlstatus_ncloud'@'127.0.0.1' IDENTIFIED BY PASSWORD '*AB9C7542BD3FE96F5342F2A616D030CF4494EB44';` 설치 경로 : /usr/bin/sqlstatus_nCloud 기본 3306 포트 사용 시 : sqlstatus_nCloud 3306 이외 사용자 Port 사용 시 : sqlstatus_nCloud 포트번호 사용하지 않을 경우 Default 계정을 삭제해도 됩니다.(`DROP USER sqlstatus\_ncloud@127.0.0.1;`) #### 사용자 화면 #### 모니터링 항목 설명 | 속성 | 설명 | | --- | --- | | Port | sqlstatus_nCloud에서 접속하는 DB 포트정보. | | Time | 모니터링 시간. | | Conn | 현재 DB에 접속하는 Connection Count | | Run | DB에 Running 중인 Thread Count 현재 DB에서 쿼리를 처리하는 Thread 수를 나타냅니다. | | Abort | DB에 접속 실패하는 Count max_connection 수를 초과하거나, DB 계정테이블에 등록되지 않는 사용자가 접속할 때 수를 표시합니다. | | Select | DB에서 처리하는 SELECT Count | | Update | DB에서 처리하는 UPDATE Count | | Insert | DB에서 처리하는 INSERT Count | | Delete | DB에서 처리하는 DELETE Count | | Replace | DB에서 처리하는 REPALCE Count | | Qcache | Query Cache를 통해 처리하는 쿼리 Count | | Call | Procedure/Function을 사용하여 처리하는 쿼리 Count | | QPS | DB에서 처리된 쿼리의 Total Count | | Slave | Replication 구성된 SlaveDB의 복제지연 시간 Replication이 아닐 경우 Default 0으로 표시 | | user | CPU normal processes executing in user mode | | system | CPU processes executing in kernel mode | | iowait | CPU waiting for I/O to complete | | Slow_queries | long_query_time에 지정된 수보다 오래 실행되는 쿼리 Count | | Sum | sqlstatus를 실행한 이후 발생된 SlowQuery Count Default Parmeter는 10초이며 아래명령어로 변경이 가능합니다. (단위 Sec) mysql> set global long_query_time=1 |