Add support for sql based radius clients.
[freeradius.git] / src / modules / rlm_sql / drivers / rlm_sql_mysql / db_mysql.sql
1 ###########################################################################
2 #  db_mysql.sql                     rlm_sql - FreeRADIUS SQL Module       #
3 #                                                                         #
4 #     Database schema for MySQL rlm_sql module                            #
5 #                                                                         #
6 #     To load:                                                            #
7 #         mysql -uroot -prootpass radius < db_mysql.sql                   #
8 #                                                                         #
9 #                                   Mike Machado <mike@innercite.com>     #
10 ###########################################################################
11 #
12 # Table structure for table 'radacct'
13 #
14
15 CREATE TABLE radacct (
16   RadAcctId bigint(21) NOT NULL auto_increment,
17   AcctSessionId varchar(32) NOT NULL default '',
18   AcctUniqueId varchar(32) NOT NULL default '',
19   UserName varchar(64) NOT NULL default '',
20   Realm varchar(64) default '',
21   NASIPAddress varchar(15) NOT NULL default '',
22   NASPortId int(12) default NULL,
23   NASPortType varchar(32) default NULL,
24   AcctStartTime datetime NOT NULL default '0000-00-00 00:00:00',
25   AcctStopTime datetime NOT NULL default '0000-00-00 00:00:00',
26   AcctSessionTime int(12) default NULL,
27   AcctAuthentic varchar(32) default NULL,
28   ConnectInfo_start varchar(32) default NULL,
29   ConnectInfo_stop varchar(32) default NULL,
30   AcctInputOctets bigint(12) default NULL,
31   AcctOutputOctets bigint(12) default NULL,
32   CalledStationId varchar(50) NOT NULL default '',
33   CallingStationId varchar(50) NOT NULL default '',
34   AcctTerminateCause varchar(32) NOT NULL default '',
35   ServiceType varchar(32) default NULL,
36   FramedProtocol varchar(32) default NULL,
37   FramedIPAddress varchar(15) NOT NULL default '',
38   AcctStartDelay int(12) default NULL,
39   AcctStopDelay int(12) default NULL,
40   PRIMARY KEY  (RadAcctId),
41   KEY UserName (UserName),
42   KEY FramedIPAddress (FramedIPAddress),
43   KEY AcctSessionId (AcctSessionId),
44   KEY AcctUniqueId (AcctUniqueId),
45   KEY AcctStartTime (AcctStartTime),
46   KEY AcctStopTime (AcctStopTime),
47   KEY NASIPAddress (NASIPAddress)
48 ) ;
49
50 #
51 # Table structure for table 'radcheck'
52 #
53
54 CREATE TABLE radcheck (
55   id int(11) unsigned NOT NULL auto_increment,
56   UserName varchar(64) NOT NULL default '',
57   Attribute varchar(32)  NOT NULL default '',
58   op char(2) NOT NULL DEFAULT '==',
59   Value varchar(253) NOT NULL default '',
60   PRIMARY KEY  (id),
61   KEY UserName (UserName(32))
62 ) ;
63
64 #
65 # Table structure for table 'radgroupcheck'
66 #
67
68 CREATE TABLE radgroupcheck (
69   id int(11) unsigned NOT NULL auto_increment,
70   GroupName varchar(64) NOT NULL default '',
71   Attribute varchar(32)  NOT NULL default '',
72   op char(2) NOT NULL DEFAULT '==',
73   Value varchar(253)  NOT NULL default '',
74   PRIMARY KEY  (id),
75   KEY GroupName (GroupName(32))
76 ) ;
77
78 #
79 # Table structure for table 'radgroupreply'
80 #
81
82 CREATE TABLE radgroupreply (
83   id int(11) unsigned NOT NULL auto_increment,
84   GroupName varchar(64) NOT NULL default '',
85   Attribute varchar(32)  NOT NULL default '',
86   op char(2) NOT NULL DEFAULT '=',
87   Value varchar(253)  NOT NULL default '',
88   prio int unsigned NOT NULL default '0',
89   PRIMARY KEY  (id),
90   KEY GroupName (GroupName(32))
91 ) ;
92
93 #
94 # Table structure for table 'radreply'
95 #
96
97 CREATE TABLE radreply (
98   id int(11) unsigned NOT NULL auto_increment,
99   UserName varchar(64) NOT NULL default '',
100   Attribute varchar(32) NOT NULL default '',
101   op char(2) NOT NULL DEFAULT '=',
102   Value varchar(253) NOT NULL default '',
103   PRIMARY KEY  (id),
104   KEY UserName (UserName(32))
105 ) ;
106
107
108 #
109 # Table structure for table 'usergroup'
110 #
111
112 CREATE TABLE usergroup (
113   id int(11) unsigned NOT NULL auto_increment,
114   UserName varchar(64) NOT NULL default '',
115   GroupName varchar(64) NOT NULL default '',
116   PRIMARY KEY  (id),
117   KEY UserName (UserName(32))
118 ) ;
119
120 #
121 # Table structure for table 'radpostauth'
122 #
123
124 CREATE TABLE radpostauth (
125   id int(11) NOT NULL auto_increment,
126   user varchar(64) NOT NULL default '',
127   pass varchar(64) NOT NULL default '',
128   reply varchar(32) NOT NULL default '',
129   date timestamp(14) NOT NULL,
130   PRIMARY KEY  (id)
131 ) ;
132
133 ######################################################################
134 #
135 #  The next two tables are commented out because they are not
136 #  currently used in the server.
137 #
138
139 #
140 # Table structure for table 'dictionary'
141 #
142 #CREATE TABLE dictionary (
143 #  id int(10) DEFAULT '0' NOT NULL auto_increment,
144 #  Type varchar(30),
145 #  Attribute varchar(64),
146 #  Value varchar(64),
147 #  Format varchar(20),
148 #  Vendor varchar(32),
149 #  PRIMARY KEY (id)
150 #);
151
152 #
153 # Table structure for table 'nas'
154 #
155 CREATE TABLE nas (
156   id int(10) DEFAULT '0' NOT NULL auto_increment,
157   nasname varchar(128) NOT NULL,
158   shortname varchar(32),
159   type varchar(30) DEFAULT 'other',
160   ports int(5),
161   secret varchar(60) DEFAULT 'secret' NOT NULL,
162   community varchar(50),
163   description varchar(200) DEFAULT 'RADIUS Client',
164   PRIMARY KEY (id),
165   KEY nasname (nasname)
166 );
167