четверг, 19 июля 2012 г.

Упала база, упала нахрен...

Электрики "пошутили", сервак радиуса рухнул, после запуска ругается на ошибки в таблице radacct - что делать?

1. Останавливаем радиус
/etc/init.d/radiusd stop
2. Копируем таблицу радиуса radacct из /var/lib/mysql/radius в /var/lib/mysql/radius_me
3. Создаем чистую временную таблицу radacct
mysql < radacct.sql *-смотри ниже
4. Запускаем радиус
/etc/init.d/radiusd start
5. Запускаем проверку таблицы с восстановлением
mysqlcheck radius_me --optimize --repair
И ждееееееем восстановления.
6. Останавливаем радиус
/etc/init.d/radiusd stop
7. Копируем временную таблицу радиуса radacct из /var/lib/mysql/radius в /var/lib/mysql/radius_me1
8. Копируем восстановленную таблицу радиуса radacct из /var/lib/mysql/radius_me в /var/lib/mysql/radius
9. Запускаем радиус
/etc/init.d/radiusd start
10. Вставляем записи, которых не было в порушеной таблице, из временной
INSERT IGNORE INTO radius.radacct SELECT * FROM radius_me1.radacct;

*
USE radius;
DROP TABLE IF EXISTS `radacct`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `radacct` (
`radacctid` bigint(21) NOT NULL AUTO_INCREMENT,
`acctsessionid` varchar(64) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
`acctuniqueid` varchar(32) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
`username` varchar(64) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
`groupname` varchar(64) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
`realm` varchar(64) COLLATE utf8_unicode_ci DEFAULT '',
`nasipaddress` varchar(15) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
`nasportid` varchar(15) COLLATE utf8_unicode_ci DEFAULT NULL,
`nasporttype` varchar(32) COLLATE utf8_unicode_ci DEFAULT NULL,
`acctstarttime` datetime DEFAULT NULL,
`acctstoptime` datetime DEFAULT NULL,
`acctsessiontime` int(12) DEFAULT NULL,
`acctauthentic` varchar(32) COLLATE utf8_unicode_ci DEFAULT NULL,
`connectinfo_start` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL,
`connectinfo_stop` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL,
`acctinputoctets` bigint(20) DEFAULT NULL,
`acctoutputoctets` bigint(20) DEFAULT NULL,
`calledstationid` varchar(50) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
`callingstationid` varchar(50) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
`acctterminatecause` varchar(32) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
`servicetype` varchar(32) COLLATE utf8_unicode_ci DEFAULT NULL,
`framedprotocol` varchar(32) COLLATE utf8_unicode_ci DEFAULT NULL,
`framedipaddress` varchar(15) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
`acctstartdelay` int(12) DEFAULT NULL,
`acctstopdelay` int(12) DEFAULT NULL,
`xascendsessionsvrkey` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL,
PRIMARY KEY (`radacctid`),
KEY `username` (`username`),
KEY `framedipaddress` (`framedipaddress`),
KEY `acctsessionid` (`acctsessionid`),
KEY `acctsessiontime` (`acctsessiontime`),
KEY `acctuniqueid` (`acctuniqueid`),
KEY `acctstarttime` (`acctstarttime`),
KEY `acctstoptime` (`acctstoptime`),
KEY `nasipaddress` (`nasipaddress`),
KEY `callingstationid` (`callingstationid`),
KEY `groupname` (`groupname`)
) ENGINE=MyISAM AUTO_INCREMENT=21294825 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

Комментариев нет:

Отправить комментарий