- 디렉터리 및 환경 설정 관련 시스템 변수에 대한 설명
시스템 변수 | 내용 |
basedir | 데이터베이스 홈 디렉토리 |
user | 데이터베이스 사용 유저 |
port | 데이터베이스 사용 포트(기본 포트 : 3306) |
socket | 사용할 소켓 저장 파일을 지정 |
pid_file | PID 값을 저장하고 있는 파일을 지정 |
datadir | 데이터 파일 디렉토리 |
tmpdir | 임시 파일 디렉토리 |
character_set_server collation_server |
서버 기본 캐릭터셋 |
lower_case_table_names | SQL에서 사용되는 테이블의 이름을 자동으로 모두 소문자로 치환 0 : SQL의 테이블 명을 소문자 치환하지 않음 1 : SQL의 테이블 명을 소문자 자동 치환 |
transaction_isolation | Record 기반 복제 또는 복제 미사용(Record 기반이 아닌 경우)시 Read-Committed로 결정 |
시스템 변수 | 내용 |
key_buffer_size | 메모리에 보유된 인덱스 버퍼의 크기를 결정하는 MyISAM 변수이며 인덱스 엑세스 속도에 영향을 미침 |
innodb_buffer_pool_size | * 디스크의 데이터를 메모리에 Caching함과 동시에 데이터의 변경을 버퍼링하는 역할을 하기 때문에 가능한 많은 할당이 필요 * 디스크로 Swap이 발생하지 않는 범위에서 설정 |
- 설정 파일 생성( my.cnf )
mariadb의 기본 설정 파일은 my.cnf 파일로 시스템 변수와 설정값을 저장된 파일
( 엔진, 데이터 파일, 로그 디렉터리의 위치를 설정 저장)
my.cnf의 기본 위치 : /etc/my.cnf
my.cnf --------------------------
[mysqld]
server-id = 1
user = mysql
# File Path Config
basedir = /usr/local/mariadb
datadir = /data/mariadb/DATA
tmpdir = /data/mariadb/TMP # 디스크에 임시 테이블이 생성할 때 경로
socket = /data/mariadb/TMP/mysql.sock # 소켓 파일 경로(로컬 서버 접속에 사용)
log-bin = /data/mariadb/BINLOG/binary_log
pid-file = /data/mariadb/mysqld.pid
open-files-limit = 65535
port = 3306
default_authentication_plugin = mysql_native_password
init_connect = SET collation_connection = utf8_unicode_ci
init_connect = SET NAMES utf8
character-set-server = utf8
collation-server = utf8_general_ci
max_connections = 2400
max_prepared_stmt_count = 1048576
event-scheduler = ON
lower_case_table_names = 1
wait_timeout = 28800
interactive_timeout = 28800
explicit_defaults_for_timestamp # Add
max_allowed_packet = 1G
table_open_cache = 8192
thread_cache_size = 32
lc_messages_dir = /usr/local/mariadb/share
lc_messages = en_US
plugin_dir = /usr/local/mariadb/lib/plugin
skip-name-resolve
transaction-isolation = READ-COMMITTED
slave_transaction_retry_errors = "1158,1159,1160,1161,1429,2013,12701"
gtid-domain-id = 1
performance_schema = on
expire_logs_days = 3 # binary log 보관기간(일), 이 기간이 지나면 자동 삭제
master_info_file = /data/mariadb/master.info
relay_log_info_file = /data/mariadb/relay-log.info
federated
##Mysql logging
slow-query-log = on
slow-query-log-file = /data/mariadb/ADMIN/slow_query.log
long_query_time = 1
log-error = /data/mariadb/ADMIN/error.log
general_log = 0
general_log_file = /data/mariadb/ADMIN/general_query.log
log_slow_admin_statements
#Buffer size
sort_buffer_size = 128K # 인덱스를 이용한 정렬이 불가능할 때 사용
read_buffer_size = 128K # 정렬 후 정렬 된 순서대로 다시 읽어 들이는데 > 사용하는 버퍼 default 사용
read_rnd_buffer_size = 128K # Two-pass-algorithm 사용 시 정렬 된 데이터를 더사 호출할 때 사용
key_buffer_size = 128K
join_buffer_size = 256K
net_buffer_length = 16K
myisam_sort_buffer_size = 1M # 8M -> 1M
#Innodb add setting
default-storage-engine = InnoDB
innodb_data_home_dir = /data/mariadb/DATA
innodb_buffer_pool_load_at_startup = ON
innodb_buffer_pool_dump_at_shutdown = ON
innodb_buffer_pool_size = 4G # InnoDB 엔진으로 된 테이블과 인덱스를 캐시 하기 위한 메모리 버퍼 크기
innodb_file_per_table = 1
innodb_log_file_size = 500M
innodb_log_files_in_group = 3
innodb_log_group_home_dir = /data/mariadb/IBLOG
innodb_stats_auto_recalc = 0
innodb_write_io_threads = 12
innodb_read_io_threads = 12
innodb_io_capacity = 1000 #innodb_io_capacity = Disk IOPS
innodb_io_capacity_max = 2000
innodb_flush_log_at_trx_commit = 1
innodb_flush_method = O_DIRECT
innodb_doublewrite = 0
innodb_sync_spin_loops = 20
innodb_buffer_pool_instances = 8
innodb_buffer_pool_chunk_size = 1342177280
innodb_adaptive_hash_index = 1
innodb_flush_neighbors = 0 #SSD=0, HDD=1
sync_binlog = 1
binlog_cache_size = 256K
max_binlog_size = 100M # binary log file 최대 크기
log-bin-trust-function-creators = 1
rpl_semi_sync_master_enabled = 1
rpl_semi_sync_master_timeout = 1000
binlog_format = row # binary log에 기록할 데이터 유형
binlog_row_image = full
[client]
port = 3306
socket = /data/mariadb/TMP/mysql.sock
default-character-set = utf8
[mysql]
no-auto-rehash
show-warnings
default-character-set = utf8
prompt = \u@\h:\d\_\R:\m:\\s> # SQL 프롬프트 설정
pager = "less -n -i -F -X -E" # 데이터 출력시 페이징 처리
[mysqldump]
quick # 버퍼를 사용하지 말고, direct로 덤프받기
max_allowed_packet = 1G
default-character-set = utf8
'DBMS > MySQL&Mariadb' 카테고리의 다른 글
MariaDB replication 구성 (0) | 2021.12.23 |
---|---|
MariaDB 권한 관리 (0) | 2021.12.23 |
MariaDB 사용자 관리 (0) | 2021.12.23 |
MariaDB 데이베이스 관리 (0) | 2021.12.23 |
MariaDB 설치 (0) | 2021.12.23 |