본 시스템은 MariaDB 서버를[1] 데이터베이스로 사용하며 본 문서에서는 그 이름을 때때로 "mysql"로 표현합니다.
데이터베이스 상태 확인
show database {ARG}
명령어를 사용하면 데이터베이스 관련 각종 정보를 출력 할 수 있습니다.
argument | Description |
---|---|
backup | 백업 결과 및 파일을 출력합니다. |
connection | 데이터베이에 연결된 상태를 출력합니다.[2] |
process | 데이터베이에서 실행 중인 쓰레드(thread)를 표시합니다.[3]
|
property | 데이터베이스 연결 속성을 표시합니다. |
replication | 데이터베이스 복제(replication) 상태를 표시합니다. |
status | 데이터베이스 서비스 상태를 표시합니다. |
variable | 데이터베이스 global variables을 출력합니다. |
user mode에서 show system mariadb
명령어를 실행하면 데이터베이스의 버전을 확인 할 수 있습니다. 데이터베이스의 동작 상태를 확인하려면 show service mysql
또는 show service status mysql
명령어를 이용할 수 있습니다.
LYSH@MyHostName# show system mariadb Database server : 10.4.19-MariaDB, for debian-linux-gnu (x86_64) LYSH@MyHostName# show service mysql ● mariadb.service - MariaDB 10.4.19 database server Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled) Drop-In: /etc/systemd/system/mariadb.service.d └─migrated-from-my.cnf-settings.conf Active: active (running) since Tue 2021-05-11 15:44:07 KST; 6 days ago .....
데이터베이스 연결 속성
데이터베이스 연결 속성은 imRAD 데이터베이스 서버의 IP 주소, 포트 번호, 사용자 및 암호를 포함하며 안전하게 암호화되었습니다.
show database property {id}
명령어를 사용하면 그 정보를 평문으로 출력 할 수 있습니다. 단, 보안상 암호는 일부가 * 표시로 출력됩니다.
imRAD는 3가지 형식의 연결속성이 존재합니다.
ID | 이름 | 설명 |
---|---|---|
0 | MainDB | 메인 데이터베이스의 연결 속성입니다. 만일 시스템 이중화 목적으로 두 개의 시스템이 존재할때 "active" 장비의 정보가 출력됩니다. |
2 | LocalDB | 현재 장비에 대한 데이터베이스의 연결 속성입니다. |
3 | PeerDB | 시스템 이중화 구성시 상대 장비에 대한 연결 정보입니다. |
보안 목적으로 비밀번호 일부는 *로 표시됩니다.
LYSH@MyHostName# show database property 0 // Display the database connection properties of the MainDB (1) Host:127.0.0.1 Port:6710 User-id:lyon User-Password:*****y@nu24
데이터베이스 백업 설정
imRAD 데이터베이스 백업을 정의할 수 있으며 기본으로 다음과 같이 백업이 설정되어 있습니다.
- db_backup_interval=1 // 매일(1일 간격)
- db_backup_hour=3 // 새벽 3시
- max_db_backup_file=5 // 백업 파일은 최대 5깨까지 보유
다음과 같은 명령어를 실행하면 백업 스케줄러의 상태와 최근 백업 결과를 확인 할 수 있습니다.
LYSH@MyHostName# show system backup // view the current database backup configuration db_backup task : Active db_backup : enable db_backup_interval : 1 db_backup_hour : 3 max_db_backup_file : 5 last_db_backup_datetime : 2021-04-28 03:30:01 last_db_backup_state : success
백업 속성을 변경하려면 configuration mode에서 database backup
명령어를 이용하세요.
LYSH@MyHostName# configure LYSH@MyHostName(config)# database backup enable // enable database backup LYSH@MyHostName(config)# database backup disable // disable database backup LYSH@MyHostName(config)# database backup hour 5 // Configure the starting hour of database backup LYSH@MyHostName(config)# database backup interval 2 // Configure the database backup interval in days LYSH@MyHostName(config)# database backup maxfile 3 // Configure the maximum number of database backup files to keep
show database backup
명령을 입력하면 데이터베이스 백업 속성, 최근 백업 결과 그리고 백업된 파일이 출력됩니다.
LYSH@MyHostName# show database backup db_backup task : Active db_backup : enable db_backup_interval : 1 db_backup_hour : 3 max_db_backup_file : 5 last_db_backup_datetime : 2021-04-28 03:30:01 last_db_backup_state : success total 1.7M -rw-r--r-- 1 root root 20 Apr 25 03:30 backup_210425.sql.gz -rw-r--r-- 1 root root 20 Apr 26 03:30 backup_210426.sql.gz -rw-r--r-- 1 root root 20 Apr 27 03:30 backup_210427.sql.gz -rw-r--r-- 1 root root 20 Apr 28 03:30 backup_210428.sql.gz
데이터베이스 패스워드 변경
데이터베이스 패스워드를 변경하려면 다음과 같이 configure 모드에서 database password
명령을 사용하세요.
LYSH@MyHostName# configure LYSH@MyHostName(config) # database password New password: *********** Confirm password: *********** misc: The Database password was changed. LYSH@MyHostName(config)# exit LYSH@MyHostName# show system database Main Database : lyon/*****y@nu24@127.0.0.1:6710 Local Database : lyon/*****y@nu24@127.0.0.1:6710
이중화가 구성된 환경에서는 반드시 Active 장비의 데이터베이스 패스워드를 변경 후 동일한 패스워드로 Passive(Standby) 장비의 비밀번호를 변경하세요. Active 장비의 데이터베이스 패스워드 변경 방식은 위에서 언급된 방법과 같습니다.
Passive(Standby) 장비에서 패스워드 변경
이중화가 운영되는 환경에서 Passive 장비의 패스워드는 Active 장비의 패스워드와 동일해야 하므로 Active 장비에 접속을 시도 후 성공되면 그 패스워드로 변경됩니다.
LYSH@MyHostName# configure LYSH@MyHostName(config) # database password Notice: This device is the failover passive(standby) and must be set the same password as the active database. Therefore, the database password will be changed to the same password as the active device. Do you want to continue? [y/n]y Input the password of active Database(a.b.c.d):*********** success misc: The database password of the failover passive device was changed. LYSH@MyHostName(config)# exit
데이터베이스 내보내기
user mode에서 mysql export
명령어를 사용하면 선택한 데이터베이스를 내보낼 수 있으며 파일을 지정된 경로에 저장됩니다.
LYSH@MyHostName# mysql export 1) lyon 2) lyon_dhcp 3) lyon_history 4) lyon_log 5) lyon_mailbox 6) lyon_rad 7) lyon_stat 8) all Select databases number: 1 Please enter a backup file name: backup Do you want to include the data?(Y/n default[Y]): y LYSH@MyHostName# show database backup db_backup=enable db_backup_interval=1 db_backup_hour=3 max_db_backup_file=5 last_db_backup_datetime=2022-01-27 03:30:02 last_db_backup_state=success -rw-r--r-- 1 root root 1115294 Jan 27 20:13 backup.gz -rw-r--r-- 1 root root 3440103 Jan 23 03:30 backup_220123.sql.gz ...
데이터베이스 가져오기
백업된 파일로 데이터베이스를 복구하는 명령어입니다. 현재 데이터베이스가 손상되었거나 기타 문제가 발생한 경우 최근 백업 파일로 복구 할 수 있습니다.
LYSH@MyHostName# mysql import 1) backup.gz 2) backup_220123.sql.gz 3) backup_220124.sql.gz 4) backup_220125.sql.gz 5) backup_220126.sql.gz 6) backup_220127.sql.gz 7) update Select backup file number: 2
데이터베이스 가져오기를 통해 데이터를 복구하면 현재 데이터는 모두 삭제되고 백업 파일의 데이터로 복구 되므로 데이터베이스에 문제가 있을 경우만 사용하세요.
데이터베이스(mysql) 직접 접속
진단 및 기타 목적으로 mysql에 직접 접속을 하려면 user mode에서 mysql
명령을 실행하면 됩니다. 단, root 계정을 이용해 접속하려면 OTP(One Time Password)[5] 발급 받아 입력해야합니다.