linux os : rocky linux 9
mysql : mysql 8.0.31
1. 서버에는 서버 시작 및 중지를 지원하는 여러 관련 스크립트
1) mysqld - mysql server의 데몬 프로그램, 실제 mysql server가 해당 프로그램으로 실행 됩니다.
2) mysqld_safe - mysqld를 시작합니다. mysqld_safe는 mysqld를 안전하게(?) 중복 실행 방지 등을 위해서 사용되었으나 systemd를 사용하는 linux os에서는 설치가 되지 않습니다.
3) mysql.server - unix 또는 unix 계열의 시스템에서 사용하는 스크립트
4) mysqld_multi - 다중 mysqld를 관리하기 위한 스크립트, systemd를 사용하는 linux os에서는 사용이 되지 않습니다.
2. MySQL 설치 또는 업그레이드 중에 설정 작업을 수행
1) comp_err
2) mysql_secure_installation(/usr/bin/mysql_secure_installation) - root 패스워드 변경, 익명사용자 제거, test db 제거, 권한 데이블 로드(FLUSH PRIVILEGES;)
3) mysql_ssl_rsa_setup(/usr/bin/mysql_ssl_rsa_setup) - SSL 인증서 및 키 파일과 RSA 키 파일을 생성합니다.(???)
4) mysql_tzinfo_to_sql(/usr/bin/mysql_tzinfo_to_sql)
# mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql
로 타임존의 정보를 로드 할 수 있습니다. mysql.time_zone, mysql.time_zone_leap_second, mysql.time_zone_name, mysql.time_zone_transition, mysql.time_zone_transition_type 테이블에 정보가 로드됩니다. 타임 존이 존재해야 Asia/Seoul 등으로 설정이 가능함. 타임존 정보는 https://dev.mysql.com/downloads/timezones.html 에서 다운로드도 가능합니다.
mysql_upgrade - mysql 업그레이드 이후 실행하던 프로그램, 8.0.16 부터는 사용하지 않음. mysqld가 실행되면 자동으로 실행되어 체크를 합니다.
* MySQL 클라이언트 프로그램
1) mysql - SQL 문을 대화식(interactively) 또는 배치모드(batch mode)로 실행할 수 있는 CLI 클라이언트 툴.
2) mysqladmin - 데이터베이스 생성, 삭제, flush 처리 등의 관리작업을 진행하는 클라이언트 프로그램.
3) mysqlcheck - CHECK TABLE(-c, 기본값), REPAIR TABLE(-r), ANALYZE TABLE(-a), OPTIMIZE TABLE(-o) 명령어를 CLI로 실행할 수 있는 프로그램입니다. 해당 프로그램 작업시 잠금이 발생할 수 있습니다.
mysqlcheck -u root -p --all-databases -r
4) mysqldump - 데이터베이스를 SQL, 텍스트(csv등), XML 파일로 덤프하는 클라이언트 프로그램입니다.
5) mysqlimport - 텍스트 파일을 각 테이블로 가져오는 클라이언트 프로그램입니다.(LOAD DATA)
6) mysqlpump - MySQL 데이터베이스를 SQL로 파일에 덤프하는 클라이언트 프로그램입니다.
7) mysqlsh - mysql 8부터 지원되는 mysql 전용 shell 프로그램입니다. 파이썬, 자바스크립트 등의 언어를 지원하는데 해외 스크립트는 파이썬 샘플이 많습니다.
8) mysqlshow - 데이터베이스, 테이블, 열 및 인덱스에 대한 정보를 표시하는 클라이언트 프로그램입니다.
9) mysqlslap - MySQL 서버에 대한 클라이언트 로드를 에뮬레이트하고 각 단계의 타이밍을 보고하도록 설계된 클라이언트 프로그램입니다.(https://dev.mysql.com/doc/refman/8.0/en/mysqlslap.html)
mysqlslap --delimiter=";"
--create="CREATE TABLE a (b int);INSERT INTO a VALUES (23)"
--query="SELECT * FROM a" --concurrency=50 --iterations=200
Benchmark
Average number of seconds to run all queries: 0.003 seconds
Minimum number of seconds to run all queries: 0.002 seconds
Maximum number of seconds to run all queries: 0.027 seconds
Number of clients running queries: 50
Average number of queries per client: 1
* MySQL 관리 및 유틸리티 프로그램
1) innochecksum - InnoDB 파일의 체크섬을 확인하는 유틸리티입니다.
2) myisam_ftdump - MyISAM 관련 유틸리티(이제 사용할 이유가 없음.)
3) myisamchk - MyISAM의 테이블 최적화 유틸리티입니다.(이제 사용할 이유가 없음.)
4) myisamlog - MyISAM로그 파일 의 내용을 처리하는 유틸리티(이제 사용할 이유가 없음.)
5) myisampack - (이제 사용할 이유가 없음.)
6) mysql_config_editor - mysql의 로그인 정보를 스크립트에서 사용하는 경우 암호의 노출을 방지하기 위해서 로그인 정보를 저장하는 방법을 제공하는 유틸리티입니다.
7) mysql_migrate_keyring - 사용 안해 봄.
8) mysqlbinlog - binlog의 정보를 확인합니다.
9) mysqldumpslow - slow query log 파일의 정보를 읽고 해당 정보를 요약해서 보여 줍니다.
* MySQL 프로그램 개발 유틸리티
mysql_config
my_print_defaults
* 기타 유틸리티
1) lz4_decompress
2) perror - 에러번호에 대한 정보를 확인 합니다.
4) zlib_decompress
'Database > MySQL' 카테고리의 다른 글
mysql_secure_installation (0) | 2022.11.17 |
---|---|
mysql 8.x - mysql_config_editor (0) | 2022.11.16 |
mysql 8.x 설치 (0) | 2022.11.15 |
docker mysql lower_case_table_names (0) | 2021.08.23 |
mysql 8.x error message (0) | 2021.08.15 |