데이타 베이스 구성
데이타베이스 서버가 구축되었다면 데이타베이스 테이블을 등록해야합니다.
NetMngr 프로그램의 데이타베이스 명칭은 NetMngr 입니다.
데이타 베이스는 운영환경, 사용자테이블, 로그이력, 성능이력, 시스템로그등의 테이블로 구성됩니다.
상기 테이블을 구성하기 위해서는 다음과 같은 과정을 거치면 됩니다.
기본적인 데이타 베이스 생성 스크립트는 아래와 같습니다.
“C:\Program Files (x86)\MySQL\MySQL Server 5.1\bin\mysql.exe” -uroot -proot
"C:\Program Files (x86)\MySQL\MySQL Server 5.1\bin\mysql.exe" -uroot -proot
create database netmngr;
use netmngr;
create table if not exists config (
id char(32) ,
section char(64) ,
entry char(32) ,
value char(64) ,
unique(id,section,entry)) ;
create table if not exists usertbl (
id char(32) ,
pass char(32) ,
authority char(10) ,
name char(64) ,
mobile char(64) ,
period char(10) ,
dateofchange datetime ,
dateofcreate datetime ,
unique(id,pass,authority,name)) ;
create table if not exists loghis (
id char(255) ,
section char(255) ,
history char(255) ,
ip char(255) ,
starttime datetime ,
endtime datetime) ;
create table if not exists syslog (
id char(255) ,
ip char(255) ,
section char(255) ,
log char(255) ,
logtime datetime) ;
create table if not exists cmdhis (
id char(32) ,
ip char(32) ,
command char(255) ,
ipc char(32) ,
cot char (255) ,
tm datetime ,
result char(32) ,
addr char(32)) ;
create table if not exists performance (
id char(32) ,
ip char(64) ,
cid int ,
pid int ,
section char(64) ,
be int ,
eb int ,
ses int ,
uas int ,
pjc int ,
sumtime datetime) ;
create table if not exists alarm (
addr integer ,
type text(7) ,
seve text(3) ,
shelf text(10) ,
affect text(4) ,
slot text(70) ,
card text(30) ,
message text(150) ,
times datetime) ;
create table if not exists event (
addr integer ,
type text(25) ,
shelf text(10) ,
message text(180) ,
times datetime) ;
create table if not exists pmces (
addr integer ,
type text(25) ,
shelf text(10) ,
units text(25) ,
pid_type integer ,
pid_ne_id integer ,
pid_card_id integer ,
pid_slot_id integer ,
pid_port_id integer ,
tunnel_addr_tid integer ,
tunnel_addr_twp integer ,
tunnel_addr_lsr integer ,
tunnel_name text(50) ,
tdm_addr_tdm_idx integer ,
tdm_sdh_typ integer ,
tdm_sdh_au4 integer ,
tdm_sdh_au3_tug3 integer ,
tdm_sdh_tug2 integer ,
tdm_sdh_tu integer ,
period integer ,
tdm_cv integer ,
tdm_es integer ,
tdm_ses integer ,
tdm_uas integer ,
eth_tx integer ,
eth_rx integer ,
eth_err integer ,
tnl_tx_fwd_pkt integer ,
tnl_tx_fwd_bytes integer ,
tnl_tx_dropped_pkt integer ,
tnl_tx_dropped_bytes integer ,
tnl_rx_fwd_pkt integer ,
tnl_rx_fwd_bytes integer ,
tnl_rx_dropped_pkt integer ,
tnl_rx_dropped_bytes integer ,
cos_tx_total integer ,
cos_rx_total integer ,
cos_byte_tx_total integer ,
cos_byte_rx_total integer ,
cos_rx_cos1 integer ,
cos_rx_cos2 integer ,
cos_rx_cos3 integer ,
cos_rx_cos4 integer ,
cos_rx_cos5 integer ,
cos_rx_cos6 integer ,
cos_rx_cos7 integer ,
cos_rx_cos8 integer ,
cos_byte_rx_cos1 integer ,
cos_byte_rx_cos2 integer ,
cos_byte_rx_cos3 integer ,
cos_byte_rx_cos4 integer ,
cos_byte_rx_cos5 integer ,
cos_byte_rx_cos6 integer ,
cos_byte_rx_cos7 integer ,
cos_byte_rx_cos8 integer ,
times datetime) ;
insert into usertbl (id, pass, authority, name, mobile, period, dateofchange, dateofcreate)
values('root', 'root', 'Admin', '관리자', '02-111-1111', '3M', '2000-01-01 00:00:00', '2000-01-01 00:00:00');
insert into usertbl (id, pass, authority, name, mobile, period, dateofchange, dateofcreate)
values('admin', 'admin', 'Admin', '관리자', '02-111-1111', '3M', '2000-01-01 00:00:00', '2000-01-01 00:00:00');
데이타 베이스 설치후 아래의 과정을 거치면 속도를 증가시킬 수 있습니다.
C:>net stop mysql (기동중인 데이타 베이스를 정지시킵니다.)
C:>notepad "C:\Program Files (x86)\MySQL\MySQL Server 5.1\my.ini"
#관리자 모드에서 my.ini에 다음 추가
"skip-name-resolve"
C:>net start mysql (기동중인 데이타 베이스를 다시 시작합니다.)
이전 데이타베이스에서 사용자 데이타베이스 기록 형식(record type)을 변경하시려면 아래와 같이 하십시요.
use netmngr;
alter table usertbl add period char(10);
alter table usertbl add dateofchange datetime;
alter table usertbl modify column id varchar(255) primary key;
alter table config add primary key (id,section,entry);
alter table config modify id varchar(32);
alter table config modify section varchar(64);
alter table config modify entry varchar(32);
alter table config modify value varchar(64);
alter table usertbl modify id varchar(32);
alter table usertbl modify pass varchar(32);
alter table usertbl modify name varchar(32);
alter table usertbl modify mobile varchar(32);
데이타 베이스 설치후 64 사용자를 허용하려면 아래와 같이 DB 접속 갯수를 증가시켜야 합니다.
mysql> set global max_connections=300;
또는 관리자 모드에서 my.ini에 다음 추가하고 mysql 재시작(net stop mysql, net start mysql)
C:>net start mysql (기동중인 데이타 베이스를 다시 시작합니다.)
[mysqld]
max_connections = 300
C:>net start mysql (기동중인 데이타 베이스를 다시 시작합니다.)
mysql> show variables like '%max_connect%';
+--------------------+-------+
| variable_name | value |
+--------------------+-------+
| max_connect_errors | 10000 |
| max_connections | 100 |
+--------------------+-------+
mysql> show status like '%CONNECT%';
+--------------------------+-------+
| Variable_name | Value |
+--------------------------+-------+
| Aborted_connects | 200 |
| Connections | 300 |
| Max_used_connections | 101 | ==> 현재 연결된 접속수
| Ssl_client_connects | 0 |
| Ssl_connect_renegotiates | 0 |
| Ssl_finished_connects | 0 |
| Threads_connected | 101 | ==> 연결되었던 최대 접속수
+--------------------------+-------+