Сейчас перелил большую рабочу базу на новый сервер.
Импортировал в бд bill;
запустил конвертер, ох и долго выполнял запросы.
пробую зайти в статистику, болт.
надо сделать вставку
INSERT INTO config SET `data`="package cfg; $img_dir = ''; 1;", time=1;
ок
появляется приглашение.
зайти под своим логином не могу.
делаю
select id,login,name,passwd from admin;
я есть, какой-то пароль тоже есть
SELECT AES_DECRYPT(passwd,'hardpass3') FROM admin WHERE login='мой логин';
выдает NULL
и да, в sat.cfg я поменял aes key на hardpass3
т.е. вероятней всего есть расхождение AES ключа
выполняю на старой базе, все ок, по ключу происхоит расшифровка.
ALTER TABLE `admin` CHANGE `passwd` `passwd` VARCHAR( 20 ) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL;
видимо как-то не того....
ок, делаю:
update admin set passwd='' where login='мойлогин';
пустило в админку
создаю пароль, проверяю
SELECT AES_DECRYPT(passwd,'hardpass3') FROM admin WHERE login='мой логин';
все ок.
тыкаю в список клиентов
/cgi-bin/stat.pl?a=users
Нет доступа ни к одной группе клиента
ок, прописываю себя по всем группам
запускаю снова Клиенты > Все записи
cgi-bin/stat.pl?a=users&all=1
Выдает:
По фильтру ничего не найдено.
Захожу в настройки групп:
stat.pl?a=op&act=usr_grp
Клиентов в группе показывает цифры
включаю Debug
Table 'bill.fullusers' doesn't exist
{
'sql' => 'SELECT SQL_CALC_FOUND_ROWS u.* FROM fullusers u
WHERE u.grp IN(13,12,9,4) ORDER BY u.id DESC LIMIT 0,10',
'param' => []
};
SELECT SQL_CALC_FOUND_ROWS u.* FROM fullusers u
WHERE u.grp IN(13,12,9,4) ORDER BY u.id DESC LIMIT 0,10
Строк: -1. Время выполнения sql: 0.0010 сек
вот оно чего ругается....
видать дропнуло, да не создало VIEW
DROP VIEW IF EXISTS fullusers;
создаю руками
CREATE ALGORITHM=MERGE VIEW fullusers AS
SELECT u.*, t.*,
((in1+in2+in3+in4+out1+out2+out3+out4)/1000000) AS traf,
((out1+out2+out3+out4)/1000000) AS traf_out,
((in1+in2+in3+in4)/1000000) AS traf_in
FROM users u LEFT JOIN users_trf t ON u.id=t.uid;
полетело, клиенты появились.
Проверя пароли, ни у кого не отображается, видимо все таки с ключем что-то.
Проверяю поля, все ок кроме IP.
"Ошибка получения списка ip адресов."
смотрю debug
Table 'bill.v_ips' doesn't exist
{
'sql' => 'SELECT MAX(last) AS max_last FROM v_ips WHERE uid=? AND auth>0',
'param' => [
1378
]
};
SELECT MAX(last) AS max_last FROM v_ips WHERE uid='1378' AND auth>0
Строк: -1. Время выполнения sql: 0.0012 сек
ругается на отсутствие еще одной таблицы
снова создаю руками:
CREATE ALGORITHM=MERGE VIEW v_ips AS
SELECT
IF(a.start IS NULL,0,1) AS auth, i.uid, INET_NTOA(i.ip) AS ip, i.ip AS ipn,
i.type, i.`release`, (a.last -a.start) AS tm_auth, a.start, a.last, a.properties
FROM ip_pool i
LEFT JOIN auth_now a ON INET_NTOA(i.ip) = a.ip
WHERE i.uid<>0;
появляется ip, все ок
смотрю на услуги:
"Произошла временная ошибка. Попробуйте повторить запрос."
ну и снова отсутствие VIEW, создаю традиционным способом
Смотрю на услуги
"Не существует ни одной услуги"
ок, добавляю услугу существую с модулем inet_unlim
назначаю юзеру:
появляется
Ошибка:
временная ошибка
Если ошибка устойчивая - к администратору (см. Debug)
Table 'bill.plans2' doesn't exist
{
'sql' => 'UPDATE users SET balance=balance+(?) WHERE id=? LIMIT 1',
'param' => [
0,
1396
]
};
UPDATE users SET balance=balance+('0') WHERE id='1396' LIMIT 1
Строк: -1. Время выполнения sql: 0.0015 сек
фак, куда же она могла пропасть )
в конвертере
Создаю нового клиента:
cgi-bin/stat.pl?a=user_new
Выдаются мои группы, тут все ок
Дальше:
Произошла временная ошибка. Попробуйте повторить запрос.
смотрю debug
Table 'bill.plans2' doesn't exist
та же картина
смотрю bill.sql который в svn, упоминания там нет.
значит, где-то в бд упоминается )
делаю
SELECT 'bill' AS `Database`, 'все таблицы' AS `Table`, COUNT(*) AS `Found rows`, CONCAT(ROUND(100 / 1 * COUNT(*), 1), '%') AS `Relevance` FROM `bill`.`z2012x12x3` WHERE LOWER(CONVERT(`mid` USING utf8)) LIKE '%plans2%' OR LOWER(CONVERT(`time` USING utf8)) LIKE '%plans2%' OR LOWER(CONVERT(`bytes` USING utf8)) LIKE '%plans2%' OR LOWER(CONVERT(`direction` USING utf8)) LIKE '%plans2%' OR LOWER(CONVERT(`ip` USING utf8)) LIKE '%plans2%' OR LOWER(CONVERT(`port` USING utf8)) LIKE '%plans2%' OR LOWER(CONVERT(`proto` USING utf8)) LIKE '%plans2%' ;
голяк
делаю
grep -lir "plans2" *
тоже пусто
мдэ....