Перейти к содержимому
Local

Storoge

Маглы
  • Публикации

    27
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный

О Storoge

  • Звание
    Пролетал Мимо
  1. Storoge

    Конвертация базы Mysql из Stg 2.404 в Stg 2.406

    SELECT * from `users` WHERE `login`="ad_aegorin"; +------------+----------+---------+------+--------------+--------+---------+-------+-------+------+-----------+-------------------------------+--------+--------------+-----------+------------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+--------------+------+-----------+----------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+--------+-------------+-----------------+-------------+------------------+-----+ | login | Password | Passive | Down | AlwaysOnline | Tariff | Address | Phone | Email | Note | RealName | StgGroup | Credit | TariffChange | Userdata0 | Userdata1 | Userdata2 | Userdata3 | Userdata4 | Userdata5 | Userdata6 | Userdata7 | Userdata8 | Userdata9 | CreditExpire | IP | D0 | U0 | D1 | U1 | D2 | U2 | D3 | U3 | D4 | U4 | D5 | U5 | D6 | U6 | D7 | U7 | D8 | U8 | D9 | U9 | Cash | FreeMb | LastCashAdd | LastCashAddTime | PassiveTime | LastActivityTime | NAS | +------------+----------+---------+------+--------------+--------+---------+-------+-------+------+-----------+-------------------------------+--------+--------------+-----------+------------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+--------------+------+-----------+----------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+--------+-------------+-----------------+-------------+------------------+-----+ | ad_aegorin | 9iQVbnfL | 0 | 0 | 0 | tariff | | | | | Егорин А. | Кафедра :Автомобильные дороги | 0 | | 60.000000 | 10.4.23.43 | | | | | | | | | 0 | * | 485982492 | 35266434 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 60 | 0 | 46.871451 | 1233453600 | 2332800 | 1264156218 | | +------------+----------+---------+------+--------------+--------+---------+-------+-------+------+-----------+-------------------------------+--------+--------------+-----------+------------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+--------------+------+-----------+----------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+--------+-------------+-----------------+-------------+------------------+-----+ 1 row in set (0.00 sec)
  2. Хочу перейти с Stg 2.404 на Stg 2.406. База данных на mysql. Ось -FreeBSD 7.2. Все нормально собралось. В базе ничего не менял. При запуске нового старгазера в логах следующее: ^@2010-01-21 23:41:34 -- Stg v. 2.406 2010-01-21 23:41:34 -- Message queue created successfully. msgKey=5555 msgID=196608 2010-01-21 23:41:34 -- Timer thread started successfully. 2010-01-21 23:41:34 -- Storage plugin: mysql_store v.0.67. Loading successfull. 2010-01-21 23:41:34 -- Cannot read conf for user ad_aegorin. 2010-01-21 23:41:34 -- Couldn't restore Tariff(on query): Unknown column 'DisabledDetailStat' in 'field list' 2010-01-21 23:41:34 -- USERS: Error: Cannot read users! 2010-01-21 23:41:34 -- Traffcounter: Stop successfull. 2010-01-21 23:41:34 -- Users: Stop successfull. 2010-01-21 23:41:35 -- Queue removed successfully. 2010-01-21 23:41:35 -- StgTimer: Stop successfull. 2010-01-21 23:41:35 -- Stg stopped successfully. Я так понял, изменилась структура базы. Нет ли уже готового скрипта для конвертации.
  3. Storoge

    Stg-web With Mysql (part 2)

    ./sgconf_xml -s 127.0.0.1 -p 5555 -a admin -w xxxxxxx -r '<GetServerInfo/>' <ServerInfo> <version>Stargazer 2.4.04</version> <tariff_num>1</tariff_num> <tariff>2</tariff> <users_num>269</users_num> <uname>FreeBSD 7.0-STABLE i386 cs.bgita2.ru</uname> <dir_num>10</dir_num> <day_fee>1</day_fee> <dir_name_0>jeogehfgchogfgeh</dir_name_0> <dir_name_1></dir_name_1> <dir_name_2></dir_name_2> <dir_name_3></dir_name_3> <dir_name_4></dir_name_4> <dir_name_5></dir_name_5> <dir_name_6></dir_name_6> <dir_name_7></dir_name_7> <dir_name_8></dir_name_8> <dir_name_9></dir_name_9> </ServerInfo> <!-- Ok -->
  4. Storoge

    Stg-web With Mysql (part 2)

    ./sgconf_xml -s 127.0.0.1 -p 5555 -a admin -w xxxxxxxxx -r <GetServerInfo/> Syntax error: end of file unexpected
  5. Storoge

    Stg-web With Mysql

    ./sgconf_xml -s 127.0.0.1 -p 5555 -a admin -w xxxxxxxx -r GetServerInfo/ <SetUser>ok</SetUser> <!-- Ok --> Вот результат,sgconf_xml оттуда же, откуда и сам веб взят.
  6. Storoge

    Stg-web With Mysql

    Давно работаю со Stargazer, но использовал раньше виндовый конфигуратор. Попробовал поставить web-интерфейс. Вот настройки: // DATABASE Settings $sql["host"] = "localhost"; // ЮДПЕЯ ЯЕПБЕПЮ MySQL $sql["base"] = "stg"; // ХЛЪ АЮГШ ДЮММШУ $sql["login"] = "stg_user"; // ХЛЪ ОНКЭГНБЮРЕКЪ ДКЪ ДНЯРСОЮ Й ад $sql["passwd"] = "xxxxxxxx"; // ОЮПНКЭ ДКЪ ДНЯРСОЮ Й ад $sql["charset"]= "cp1251"; // ЙНДХПНБЙЮ АЮГШ ДЮММШУ $sql["tbl_config"] = "web_stg_config"; // РЮАКХЖЮ Я ЙНМЯРЮМРЮЛХ Х МЮЯРПНИЙЮЛХ // STG-Server Settings $stg_host = "127.0.0.1"; // IP-ЮДПЕЯ ЯЕПБЕПЮ STG $stg_port = "5555"; // оНПР ЯЕПБЕПЮ STG $stg_admin = "admin"; // кНЦХМ ЮДЛХМХЯРПЮРНПЮ STG (ДКЪ ПЮГДЕКЮ "ОНКЭГНБЮРЕКХ") $stg_password = "yyyyyyyy"; // оЮПНКЭ ЮДЛХМХЯРПЮРНПЮ STG (ДКЪ ПЮГДЕКЮ "ОНКЭГНБЮРЕКХ") $stg_root_path = "/usr/local/www/html/"; // оНКМШИ ОСРЭ ДН ЙНПМЕБНИ ДХПЕЙРНПХХ ЯЮИРЮ $stg_KK_path = "/usr/local/www/html/sgconf_xml"; //оНКМШИ ОСРЭ ДН ЙНМЯНКЭМНЦН ЙНМТХЦСПЮРНПЮ, БЙКЧВЮЪ ЯЮЛ sgconf_xml // лЮЯЯХБ МЮГБЮМХИ ЛЕЯЪЖЕБ ЦНДЮ $monthy = array("", "января", "февраля", "марта", "апреля", "мая", "июня", "июля", "августа", "сентября", "октября", "ноября", "декабря"); $months = array("", "январь", "февраль", "март", "апрель", "май", "июнь", "июль", "август", "сентябрь", "октябрь", "ноябрь", "декабрь"); // ЛЮЯЯХБ ICQ ЮДЛХМХЯРПЮРНПНБ ЯХЯРЕЛШ (ПЮАНРЮЕР РНКЭЙН ОПХ МЮКХВХХ Iserverd) $admin_icq_array = array(10000,10001); Когда захожу на страницу админки, появляется окно авторизации, заполняю его, соглашаюсь, а потом вижу белый экран. Вот код: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML><HEAD> <META content="text/html; charset=windows-1251" http-equiv=Content-Type></HEAD> <BODY></BODY></HTML> sgconf_xml выдает следующее: Sgconf version: 1.05.9_STG-WEB Use: sgconf -s <server> -p <port> -a <admin> -w <admin_pass> -r <request_string> Use: sgconf -s <server> -p <port> -a <admin> -w <admin_pass> -f <request_file> Request file or string content: <GetServerInfo/> <GetTariffs/> <AddTariff name="NEW_TARIFF"/> <DelTariff name="DELETED_TARIFF"/> <SetTariff name="TARIFF"/> <Time[0...9] value="HH:MM-HH:MM"/> Day-Night time for each DIR <PriceDayA value="PriceDayA0/PriceDayA1/PriceDayA2/PriceDayA3/PriceDayA4/PriceDayA5/PriceDayA6/PriceDayA7/PriceDayA8/PriceDayA9"/> <PriceDayB value="PriceDayB0/PriceDayB1/PriceDayB2/PriceDayB3/PriceDayB4/PriceDayB5/PriceDayB6/PriceDayB7/PriceDayB8/PriceDayB9"/> <PriceNightA value="PriceNightA0/PriceNightA1/PriceNightA2/PriceNightA3/PriceNightA4/PriceNightA5/PriceNightA6/PriceNightA7/PriceNightA8/PriceNightA9"/> <PriceNightB value="PriceNightB0/PriceNightB1/PriceNightB2/PriceNightB3/PriceNightB4/PriceNightB5/PriceNightB6/PriceNightB7/PriceNightB8/PriceNightB9"/> <SinglePrice value="SinglePrice0/SinglePrice1/SinglePrice2/SinglePrice3/SinglePrice4/SinglePrice5/SinglePrice6/SinglePrice7/SinglePrice8/SinglePrice9"/> <NoDiscount value="NoDiscount0/NoDiscount1/NoDiscount2/NoDiscount3/NoDiscount4/NoDiscount5/NoDiscount6/NoDiscount7/NoDiscount8/NoDiscount9"/> <Threshold value="NEW_Threshold"/> <Fee value="NEW_Fee"/> <PassiveCost value="NEW_PassiveCost"/> <Free value="NEW_Free"/> <TraffType value="NEW_TraffType"/> New TraffType value: [up|down|up+down|max] </SetTariff/> <GetAdmins/> <AddAdmin login="LOGIN"/> <DelAdmin login="LOGIN"/> <ChgAdmin login="LOGIN" priv="NEW_PRIV" password="NEW_PASSWORD"/> Я бы проверил, как он работает, но что за параметр -r ? Что это за файл или строка? Что у меня неправильно, кв какую сторону копать?
  7. Storoge

    Модуль Mysql и скрипты на перле.

    А почему у меня loca вместо local?
  8. Storoge

    Модуль Mysql и скрипты на перле.

    ls -l /usr/include | grep expat lrwxr-xr-x 1 root wheel 25 Jul 10 18:07 expat.h -> /usr/loca/include/expat.h
  9. Storoge

    Модуль Mysql и скрипты на перле.

    #ifndef SERVCONF_H #define SERVCONF_H #include "os_int.h" #include <expat.h> #include <list> #include <string> #include "netunit.h" #include "stg_const.h" void Start(void *data, const char *el, const char **attr); void End(void *data, const char *el); #define MAX_ERR_STR_LEN (64) #define IP_STRING_LEN (255) //#define TARIFF_NAME_LEN (255) //#define IFACE_LEN (255) //#define GROUP_LEN (255) //#define NOTE_LEN (255) //#define EMAIL_LEN (255) #define UNAME_LEN (256) #define SERV_VER_LEN (64) #define DIRNAME_LEN (16) //----------------------------------------------------------------------------- struct STAT { long long su[DIR_NUM]; long long sd[DIR_NUM]; long long mu[DIR_NUM]; long long md[DIR_NUM]; double freeMb; }; //----------------------------------------------------------------------------- struct SERVERINFO { char version[sERV_VER_LEN]; int tariffNum; int tariffType; int usersNum; char uname[uNAME_LEN]; int dirNum; char dirName[DIR_NUM][DIRNAME_LEN]; }; //----------------------------------------------------------------------------- //----------------------------------------------------------------------------- struct USERDATA { char login[LOGIN_LEN]; char password[PASSWD_LEN]; double cash; double credit; int down; int passive; int connected; int alwaysOnline; uint32_t ip; char ips[iP_STRING_LEN]; char tariff[TARIFF_NAME_LEN]; char iface[iFACE_LEN]; char group[GROUP_LEN]; char note[NOTE_LEN]; char email[email_LEN]; STAT stat; struct USERDATA * next; }; //----------------------------------------------------------------------------- typedef void(*RecvUserDataCb_t)(USERDATA * ud, void * data); typedef void(*RecvServerInfoDataCb_t)(SERVERINFO * si, void * data); typedef int(*RecvChgUserCb_t)(const char * asnwer, void * data); typedef int(*RecvCheckUserCb_t)(const char * answer, void * data); typedef int(*RecvSendMessageCb_t)(const char * answer, void * data); //----------------------------------------------------------------------------- struct ADMINDATA { char login[ADM_LOGIN_LEN]; }; //----------------------------------------------------------------------------- //----------------------------------------------------------------------------- class PARSER { public: PARSER(); virtual ~PARSER(){}; virtual int ParseStart(const char *el, const char **attr) = 0; virtual void ParseEnd(const char *el) = 0; void Reset(); //virtual bool GetError() = 0; //virtual void SetUserDataRecvCb(RecvUserDataCb_t) = 0; protected: //RecvUserDataCb_t RecvUserDataCb; private: }; //----------------------------------------------------------------------------- class PARSER_CHG_USER: public PARSER { public: PARSER_CHG_USER(); int ParseStart(const char *el, const char **attr); void ParseEnd(const char *el); void Reset(); void ParseAnswer(const char *el, const char **attr); void SetChgUserRecvCb(RecvChgUserCb_t, void * data); private: RecvChgUserCb_t RecvChgUserCb; void * chgUserCbData; int depth; bool error; }; //----------------------------------------------------------------------------- class PARSER_CHECK_USER: public PARSER { public: PARSER_CHECK_USER(); int ParseStart(const char *el, const char **attr); void ParseEnd(const char *el); void Reset(); void ParseAnswer(const char *el, const char **attr); void SetCheckUserRecvCb(RecvCheckUserCb_t, void * data); private: RecvCheckUserCb_t RecvCheckUserCb; void * checkUserCbData; int depth; bool error; }; //----------------------------------------------------------------------------- //----------------------------------------------------------------------------- class PARSER_GET_USERS: public PARSER { public: PARSER_GET_USERS(); int ParseStart(const char *el, const char **attr); void ParseEnd(const char *el); void Reset(); void ParseUsers(const char *el, const char **attr); void ParseUser(const char *el, const char **attr); void ParseUserParams(const char *el, const char **attr); void ParseUserLoadStat(const char * el, const char ** attr); //bool GetError(); void SetUserDataRecvCb(RecvUserDataCb_t, void * data); private: RecvUserDataCb_t RecvUserDataCb; void * userDataCb; USERDATA user; int depth; bool error; }; //----------------------------------------------------------------------------- class PARSER_GET_USER: public PARSER { public: PARSER_GET_USER(); int ParseStart(const char *el, const char **attr); void ParseEnd(const char *el); void Reset(); void ParseUsers(const char *el, const char **attr); void ParseUser(const char *el, const char **attr); void ParseUserParams(const char *el, const char **attr); void ParseUserLoadStat(const char * el, const char ** attr); void SetUserDataRecvCb(RecvUserDataCb_t, void * data); private: RecvUserDataCb_t RecvUserDataCb; void * userDataCb; USERDATA user; int depth; bool error; }; //----------------------------------------------------------------------------- //----------------------------------------------------------------------------- class PARSER_GET_SERVER_INFO: public PARSER { public: PARSER_GET_SERVER_INFO(); int ParseStart(const char *el, const char **attr); void ParseEnd(const char *el); void Reset(); void ParseServerInfo(const char *el, const char **attr); bool GetError(); void SetServerInfoRecvCb(RecvServerInfoDataCb_t, void * data); private: void ParseUname(const char ** attr); void ParseServerVersion(const char ** attr); void ParseUsersNum(const char ** attr); void ParseTariffsNum(const char ** attr); void ParseTariffType(const char ** attr); void ParseDirNum(const char **attr); void ParseDirName(const char **attr, int d); RecvServerInfoDataCb_t RecvServerInfoDataCb; void * serverInfoDataCb; USERDATA user; int depth; bool error; SERVERINFO serverInfo; }; //----------------------------------------------------------------------------- class PARSER_SEND_MESSAGE: public PARSER { public: PARSER_SEND_MESSAGE(); int ParseStart(const char *el, const char **attr); void ParseEnd(const char *el); void Reset(); void ParseAnswer(const char *el, const char **attr); void SetSendMessageRecvCb(RecvSendMessageCb_t, void * data); private: RecvSendMessageCb_t RecvSendMessageCb; void * sendMessageCbData; int depth; bool error; }; //----------------------------------------------------------------------------- class SERVCONF { public: SERVCONF(); void SetServer(const char * server); void SetPort(uint16_t port); void SetAdmLogin(const char * login); void SetAdmPassword(const char * password); void SetUserDataRecvCb(RecvUserDataCb_t, void * data); void SetServerInfoRecvCb(RecvServerInfoDataCb_t, void * data); void SetChgUserCb(RecvChgUserCb_t, void * data); void SetCheckUserCb(RecvCheckUserCb_t, void * data); void SetGetUserDataRecvCb(RecvUserDataCb_t, void * data); void SetSendMessageCb(RecvSendMessageCb_t, void * data); int GetUsers(); int GetUser(const char * login); int ChgUser(const char * request); int SendMessage(const char * login, const char * message, int prio); int GetServerInfo(); int CheckUser(const char * login, const char * password); char * GetStrError(); int GetError(); int Start(const char *el, const char **attr); void End(const char *el); private: PARSER * currParser; PARSER_GET_USERS parserGetUsers; PARSER_GET_USER parserGetUser; PARSER_GET_SERVER_INFO parserServerInfo; PARSER_CHG_USER parserChgUser; PARSER_CHECK_USER parserCheckUser; PARSER_SEND_MESSAGE parserSendMessage; NETTRANSACT nt; int parseDepth; USERDATA ud; char errorMsg[MAX_ERR_STR_LEN]; int error; XML_Parser parser; RecvUserDataCb_t RecvUserDataCb; RecvUserDataCb_t RecvGetUserDataCb; RecvServerInfoDataCb_t RecvServerInfoDataCb; RecvChgUserCb_t RecvChgUserCb; RecvCheckUserCb_t RecvCheckUserCb; RecvSendMessageCb_t RecvSendMessageCb; void * getUserDataDataCb; void * getUsersDataDataCb; void * getServerInfoDataCb; void * chgUserDataCb; void * checkUserDataCb; void * sendMessageDataCb; friend int AnsRecv(void * data, std::list<std::string> * list); }; //----------------------------------------------------------------------------- #endif /* _SERVCONF_H_ */ /* EOF */
  10. Storoge

    Модуль Mysql и скрипты на перле.

    locate expat.h /usr/include/expat.h /usr/local/include/expat.h /usr/local/include/python2.5/pyexpat.h /usr/src/contrib/expat/lib/expat.h gmake[2]: Entering directory `/home/yprozorov/stg-2.404.9.7/stglibs/srvconf.lib' gmake[2]: Leaving directory `/home/yprozorov/stg-2.404.9.7/stglibs/srvconf.lib' gmake[2]: Entering directory `/home/yprozorov/stg-2.404.9.7/stglibs/srvconf.lib' g++ -O2 -Wall -fPIC -I /home/yprozorov/stg-2.404.9.7/projects/sgconf/../../include -I ./ -DFREE_BSD5 -c netunit.cpp g++ -O2 -Wall -fPIC -I /home/yprozorov/stg-2.404.9.7/projects/sgconf/../../include -I ./ -DFREE_BSD5 -c parser.cpp In file included from parser.cpp:12: servconf.h:6:19: error: expat.h: No such file or directory In file included from parser.cpp:12: servconf.h:256: error: 'XML_Parser' does not name a type gmake[2]: *** [parser.o] Error 1 gmake[2]: Leaving directory `/home/yprozorov/stg-2.404.9.7/stglibs/srvconf.lib' gmake[1]: *** [srvconf.lib] Error 2 gmake[1]: Leaving directory `/home/yprozorov/stg-2.404.9.7/stglibs' gmake: *** [libs] Error 2
  11. Storoge

    Модуль Mysql и скрипты на перле.

    Ничего не поменялось.
  12. Storoge

    Модуль Mysql и скрипты на перле.

    Пытаюсь его собрать У меня уже FreeBSD 8, подправил build if [ "$sys" = "FreeBSD" ] then case $release in 4) OS=bsd;; 5) OS=bsd5;; 6) OS=bsd5;; *) OS=bsd5;; Подправил Makefile ifeq ($(OS),bsd5) LIBS += -lexpat \ -lpthread \ -lc endif Запускаю build и в конце такая ошибка: gmake[2]: Entering directory `/home/yprozorov/stg-2.404.9.7/stglibs/srvconf.lib' gmake[2]: Leaving directory `/home/yprozorov/stg-2.404.9.7/stglibs/srvconf.lib' gmake[2]: Entering directory `/home/yprozorov/stg-2.404.9.7/stglibs/srvconf.lib' g++ -O2 -Wall -fPIC -I /home/yprozorov/stg-2.404.9.7/projects/sgconf/../../include -I ./ -DFREE_BSD5 -c netunit.cpp g++ -O2 -Wall -fPIC -I /home/yprozorov/stg-2.404.9.7/projects/sgconf/../../include -I ./ -DFREE_BSD5 -c parser.cpp In file included from parser.cpp:12: servconf.h:6:19: error: expat.h: No such file or directory In file included from parser.cpp:12: servconf.h:256: error: 'XML_Parser' does not name a type gmake[2]: *** [parser.o] Error 1 gmake[2]: Leaving directory `/home/yprozorov/stg-2.404.9.7/stglibs/srvconf.lib' gmake[1]: *** [srvconf.lib] Error 2 gmake[1]: Leaving directory `/home/yprozorov/stg-2.404.9.7/stglibs' gmake: *** [libs] Error 2 locate expat.h /usr/local/include/expat.h /usr/local/include/python2.5/pyexpat.h /usr/src/contrib/expat/lib/expat.h Предложения????
  13. Storoge

    Модуль Mysql и скрипты на перле.

    А что такое КК? =)
  14. Имеется необходимость каждый месяц автоматически пополнять разрешенный размер трафика пользователям, так как вручную вбивать каждый раз 250 чисел не хочется. На FreeBSD 7.0 запущен Stargazer с модулем MySQL. Для этой цели решил задействовать поле Userdata0(+поменял его тип на double), куда должен записываться нужный месячный трафик. Соответственно, каждый месяц полю Cash присваивается значение из Userdata0 и все должно быть Ok. Решил скрипты сделать на перле (это мой первый опыт с перлом, поэтому не ругайтесь сильно =) ) Скрипт OnUserAdd: #!/usr/bin/perl -w use DBI; #use struct; $dsn="DBI:mysql:stg_database:localhost"; # наименование источника данных $user_name="root"; # имя пользователя $password="xxxxxxxxx"; # пароль $LOGIN=@ARGV[0]; # подключение к базе данных $dbh = DBI->connect ($dsn, $user_name, $password, { RaiseError => 0, PrintError => 0})or die "Невозможно подключиться к серверу: $DBI::err ($DBI: : е г г s t $sth = $dbh->prepare (qq{UPDATE users SET Userdata0=Cash WHERE login='$LOGIN'}) or bail_out("Невозможно создать запрос"); $sth->execute(); $sth->finish() or bail_out("Невозможно завершить выполнение запроса"); $dbh->disconnect(); exit(0); Приблизительно также работает OnChange. Начал проверять работу. Попробовал действовать в обратном направлении: присваивать значения из Userdata0 в Cash. В консоли mysql показывает, что значение меняется, а в конфигураторе ни чего не меняется, то же значение!!!!! Начал присваивать значения полю Cash из консоли: mysql> use stg_database; Database changed mysql> select cash from users where login='test'; +------+ | cash | +------+ | 12 | +------+ 1 row in set (0.00 sec) mysql> update users set cash=23 where login='test'; Query OK, 1 row affected (0.01 sec) Rows matched: 1 Changed: 1 Warnings: 0 mysql> select cash from users where login='test'; +------+ | cash | +------+ | 23 | +------+ 1 row in set (0.00 sec) mysql> flush table users; Query OK, 0 rows affected (0.01 sec) mysql> select cash from users where login='test'; +------+ | cash | +------+ | 12 | +------+ 1 row in set (0.00 sec) Ситуация такая же. Вроде бы новое значение присваивается, но стоит выйти из консоли и зайти снова или запустить flash tables, прежнее значение возвращается. А в конфигураторе не меняется вообще ничего. Пробовал перезагружать Stargazer после замены значений, ничего не меняется.. Захожу под рутом с GRANT ALL. То есть вручную поменять значения полей в базе я не могу, заблокированы что ли таблицы эти. Мои знания о MySQL невелики, поэтому не сочтите вопрос глупым, поскольку для меня он важен. В принципе, меня больше волнует вопрос автоматического добавления денег на счет, если кто знает, как это сделать, пишите, пожалуйста. Буду рад любым комментариям. :vah:
  15. Storoge

    Stg-2.404 и Freebsd 7

    Все, достал меня это firebird Буду с mysql работать.
×