Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

MySQL 설치 관련 필수 유틸리티 프로그램 완벽 정리

MySQL은 설치 및 유지 관리 과정에서 활용할 수 있는 다양한 유틸리티 프로그램을 함께 제공합니다. 그중 대표적인 프로그램으로 comp_err, mysql_secure_installation, mysql_tzinfo_to_sql, mysql_upgrade 네 가지를 들 수 있습니다. 각 프로그램의 역할과 사용 방법을 하나씩 살펴보겠습니다.

1. comp_err

comp_errerrmsg.sys 파일을 생성하는 프로그램입니다. 이 파일은 mysqld 서버가 오류 코드에 따라 어떤 오류 메시지를 화면에 표시할지 판단하는 데 사용됩니다. 또한 comp_err는 mysqld_error.h, mysqld_ername.h, mysqld_errmsg.h 헤더 파일도 함께 생성합니다.

comp_err는 아래와 같은 형식으로 실행할 수 있습니다.

shell> comp_err [옵션]

2. mysql_secure_installation

mysql_secure_installation은 MySQL 설치 환경의 보안 수준을 손쉽게 강화할 수 있도록 도와주는 프로그램입니다. 이 프로그램을 통해 사용자는 다음과 같은 보안 설정을 수행할 수 있습니다.

  • root 계정에 비밀번호를 설정합니다.
  • 로컬 호스트(localhost) 외부에서 접근 가능한 root 계정을 제거합니다.
  • 익명(anonymous) 사용자 계정을 삭제합니다.
  • 기본적으로 모든 사용자, 심지어 익명 사용자까지 접근할 수 있는 test 데이터베이스와, test_로 시작하는 이름의 데이터베이스에 대한 접근 권한을 제거합니다.

이처럼 mysql_secure_installation은 MySQL 공식 보안 권고 사항을 손쉽게 적용할 수 있는 실질적인 방법을 제공하므로, 새로 MySQL을 설치한 직후 반드시 실행해 보는 것이 좋습니다.

3. mysql_tzinfo_to_sql

mysql_tzinfo_to_sql은 mysql 데이터베이스의 시간대(time zone) 테이블을 로드하는 데 사용되는 프로그램입니다. 이 프로그램은 zoneinfo 데이터베이스, 즉 시간대 정보를 담고 있는 파일 집합을 보유한 운영체제에서 사용할 수 있으며, Linux, FreeBSD, Solaris, macOS 등이 대표적인 예입니다.

일반적으로 이러한 시간대 파일은 /usr/share/zoneinfo 디렉터리에 위치하고 있으며(Solaris의 경우 /usr/share/lib/zoneinfo), 해당 경로의 데이터를 SQL 형식으로 변환하여 MySQL에 입력하는 역할을 합니다.

4. mysql_upgrade

mysql_upgrade는 MySQL을 업그레이드할 때마다 반드시 실행해야 하는 프로그램입니다. 업그레이드된 MySQL 서버와 기존 데이터 사이의 비호환성(incompatibility) 여부를 점검하고 문제를 해결해 줍니다.

mysql_upgrade는 아래 순서에 따라 사용하는 것이 좋습니다.

  • 먼저 MySQL 서버가 현재 실행 중인지 확인합니다.
  • mysql_upgrade를 실행하여 mysql 스키마 내의 시스템 테이블을 업그레이드합니다.
  • 아래 명령을 통해 다른 스키마의 테이블도 검사하고 필요한 경우 복구합니다.
shell> mysql_upgrade [옵션]

모든 작업이 완료되면 서버를 중지한 뒤 다시 시작하여 시스템 테이블의 변경 사항이 정상적으로 적용되도록 합니다.