Page 1 of 2

Лезет ошибка mysql

Posted: Wed Jan 08, 2020 1:35 am
by johnyman
Поставил новый сж сегодня, присоединил его к мастеру - на экране Main у слейва никаких ошибок скрипт не показывает.

Но когда пытаюсь на этом новом слейве смотреть стату по трейдеру по Geo - то там нули, причем стату по рефам отображает нормально и общее кол-во по часам тоже. Жму на RepIps и получаю вот такую ошибку:

Fatal error: Uncaught exception 'Exception' with message 'Mysql error:: 1054 (Unknown column 'proxy' in 'field list') (db_link) in query select INET_NTOA(ip) as ip, country, SUM(num) as my_sum, SUM(proxy) as total_proxy from ips where 1=1 and trader = 'notrade' group by ip having my_sum > '1' order by my_sum desc . (tubemaximum.com) ' in /home/jk7/tubemaximum.com/utnamsr/includes/db_modules/mysql.php:129 Stack trace: #0 /home/jk7/tubemaximum.com/utnamsr/includes/db_modules/mysql.php(160): db_error('select INET_NTO...', 1054, 'Unknown column ...', 'db_link') #1 /home/jk7/tubemaximum.com/utnamsr/admin/files/stats_ips.php(166): db_query('select INET_NTO...') #2 /home/jk7/tubemaximum.com/utnamsr/admin/files/trade_stats.php(76): include('/home/jk7/tubem...') #3 /home/jk7/tubemaximum.com/utnamsr/admin/index.php(309): include('/home/jk7/tubem...') #4 {main} thrown in /home/jk7/tubemaximum.com/utnamsr/includes/db_modules/mysql.php on line 129

Есть ещё 10 слейвов, которые висят на том же мастере, но они создавались гораздо раньше, почти в то же время что и мастер. Везде обновил смарт до последней версии - на старых слейвах такой ошибки нету и всё норм отображает.

База мастера была переведена в InnoDB формат ещё раньше, может и базу слейва надо переводить?

Пытался отсоединять слейв от мастера и заново конектить - не помогло тоже.

Re: Лезет ошибка mysql

Posted: Wed Jan 08, 2020 7:23 am
by admin
Первое правило - если что-то не работает надо провести апедйты

Re: Лезет ошибка mysql

Posted: Wed Jan 08, 2020 10:15 am
by johnyman
Я же написал: "Везде обновил смарт до последней версии - на старых слейвах такой ошибки нету и всё норм отображает."

И мастер и слейв последней версии.

Когда отсоединяю слейв от мастера, то у слейва появляется предупреждение в админке

Mysql Table Engine: looks like mysql DB tables (rot_gallery_info, rot_gallery_stats1) are not of InnoDB format. it's good idea to tune mysql and use innodb table format for rot_* tables. Please, read wiki for mysql tuning hints.

Re: Лезет ошибка mysql

Posted: Wed Jan 08, 2020 12:53 pm
by johnyman
Снёс полностью слейв и поставил с нуля - ошибка такая же.

Fatal error: Uncaught exception 'Exception' with message 'Mysql error:: 1054 (Unknown column 'proxy' in 'field list') (db_link) in query select INET_NTOA(ip) as ip, country, SUM(num) as my_sum, SUM(proxy) as total_proxy from ips where 1=1 and trader = 'SE' group by ip having my_sum > '1' order by my_sum desc . (tubemaximum.com) ' in /home/jk7/tubemaximum.com/utnamsr/includes/db_modules/mysql.php:129 Stack trace: #0 /home/jk7/tubemaximum.com/utnamsr/includes/db_modules/mysql.php(160): db_error('select INET_NTO...', 1054, 'Unknown column ...', 'db_link') #1 /home/jk7/tubemaximum.com/utnamsr/admin/files/stats_ips.php(166): db_query('select INET_NTO...') #2 /home/jk7/tubemaximum.com/utnamsr/admin/files/trade_stats.php(76): include('/home/jk7/tubem...') #3 /home/jk7/tubemaximum.com/utnamsr/admin/index.php(309): include('/home/jk7/tubem...') #4 {main} thrown in /home/jk7/tubemaximum.com/utnamsr/includes/db_modules/mysql.php on line 129

Re: Лезет ошибка mysql

Posted: Wed Jan 08, 2020 1:22 pm
by johnyman
Короче методом тыка с админом нашли, что при инсталле не создается поле
`proxy` mediumint(8) unsigned NOT NULL,

вот так выглядит на тех, которые норм работают
CREATE TABLE `ips` (
`trader` char(100) NOT NULL,
`ip` int(10) unsigned NOT NULL DEFAULT '0',
`proxy` mediumint(8) unsigned NOT NULL,
`country` char(2) NOT NULL,
`num` int(11) NOT NULL DEFAULT '0',
`hour` int(11) NOT NULL DEFAULT '0',
KEY `hour` (`hour`),
KEY `trader` (`trader`),
KEY `ip` (`ip`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

а так, на том, который ошибку сыпет
CREATE TABLE `ips` (
`trader` char(100) NOT NULL,
`ip` bigint(11) NOT NULL DEFAULT '0',
`country` char(2) NOT NULL,
`num` int(11) NOT NULL DEFAULT '0',
`hour` int(11) NOT NULL DEFAULT '0',
KEY `hour` (`hour`),
KEY `trader` (`trader`),
KEY `ip` (`ip`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

вручную добавили поле и заработало...

MariaDB [(none)]> use tubemaximum;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
MariaDB [tubemaximum]> alter table `ips` ADD COLUMN `proxy` mediumint(8) unsigned NOT NULL;
Query OK, 0 rows affected (0.01 sec)
Records: 0 Duplicates: 0 Warnings: 0

Re: Лезет ошибка mysql

Posted: Wed Jan 08, 2020 3:54 pm
by admin
апдейт именно эти поля и проверяет и создает
99% не было апдейта

Re: Лезет ошибка mysql

Posted: Wed Jan 08, 2020 5:33 pm
by johnyman
admin wrote: Wed Jan 08, 2020 3:54 pm апдейт именно эти поля и проверяет и создает
99% не было апдейта
Your Build 202001030950 (Current build: 202001030950 ) PHP version 5.6.40

Есть какой то особенный апдейт??

Re: Лезет ошибка mysql

Posted: Wed Jan 08, 2020 5:37 pm
by admin
Особенного нет

Re: Лезет ошибка mysql

Posted: Wed Jan 08, 2020 5:44 pm
by johnyman
admin wrote: Wed Jan 08, 2020 5:37 pm Особенного нет
ну так после установки именно эта версия и есть.... или её надо было проапдейтить после установки всё равно?

Re: Лезет ошибка mysql

Posted: Wed Jan 08, 2020 5:58 pm
by admin
при возникновении проблемы - надо провести ап, оно проверяет все ли ок или на конкретном серваке есть какие то вопросы и подстраивает под конкретное положение дел

я во втором соообщении об этом и написал

и у меня в подписи написано тоже самое