forum.bitel.ru http://forum.bitel.ru/ |
|
Ошибка sql на добавлении устройства http://forum.bitel.ru/viewtopic.php?f=22&t=12619 |
Страница 1 из 1 |
Автор: | deaddaemon [ 14 сен 2017, 18:43 ] |
Заголовок сообщения: | Ошибка sql на добавлении устройства |
Последняя версия bg сервера, mssql 5.7, ubuntu 16.04 во-первых при заливке дампа mysql выдавал ошибку: root@bgbilling:/usr/local# sudo mysql -p < dump.sql Enter password: ERROR 1067 (42000) at line 153: Invalid default value for 'dt' порешалось sql-mode="NO_ENGINE_SUBSTITUTION" но дальше начал наполнять биллинг, добавляю устройство, выдает: java.util.concurrent.ExecutionException: ru.bitel.bgbilling.common.BGException: java.sql.SQLException: Column 'uptime' not found. подскажите куда копать? |
Автор: | Phricker [ 14 сен 2017, 19:00 ] |
Заголовок сообщения: | Re: Ошибка sql на добавлении устройства |
sql_mode - запрещается установка режимов STRICT_TRANS_TABLES и STRICT_ALL_TABLES, это приведёт к неработоспособности некоторых компонентов биллинговой системы. |
Автор: | Phricker [ 14 сен 2017, 19:02 ] |
Заголовок сообщения: | Re: Ошибка sql на добавлении устройства |
Обновления ставились корректно? |
Автор: | deaddaemon [ 14 сен 2017, 19:05 ] |
Заголовок сообщения: | Re: Ошибка sql на добавлении устройства |
обновления чего? системные - да, без ошибок. bgb - ставился с нуля |
Автор: | Phricker [ 14 сен 2017, 19:47 ] |
Заголовок сообщения: | Re: Ошибка sql на добавлении устройства |
Ну после установки биллинга update.sh корректно прошел? потом установка inet - корректно прошла без ошибок? |
Автор: | deaddaemon [ 14 сен 2017, 20:37 ] |
Заголовок сообщения: | Re: Ошибка sql на добавлении устройства |
update.sh запустил - все корректно отработало установка inet - без ошибок еще раз все проделал начисто - тот же результат |
Автор: | Phricker [ 14 сен 2017, 21:07 ] |
Заголовок сообщения: | Re: Ошибка sql на добавлении устройства |
Попробуйте инет переустановить добавив в конце ! Код: ./bg_installer.sh {имя файла с архивом}!
|
Автор: | deaddaemon [ 14 сен 2017, 21:43 ] |
Заголовок сообщения: | Re: Ошибка sql на добавлении устройства |
Phricker писал(а): Попробуйте инет переустановить добавив в конце ! Код: ./bg_installer.sh {имя файла с архивом}! не помогло, та же ошибка |
Автор: | skn [ 14 сен 2017, 22:01 ] |
Заголовок сообщения: | Re: Ошибка sql на добавлении устройства |
Цитата: но дальше начал наполнять биллинг, добавляю устройство, выдает: java.util.concurrent.ExecutionException: ru.bitel.bgbilling.common.BGException: java.sql.SQLException: Column 'uptime' not found. подскажите куда копать? полностью код ошибки покажите |
Автор: | ok-2004 [ 15 сен 2017, 10:04 ] |
Заголовок сообщения: | Re: Ошибка sql на добавлении устройства |
Стопорните Mysql и BGB. Если у Вас действительно Mysql > 5.7 (а не mssql!), то добавьте в /etc/mysql/my.cnf строчки : Код: general_log = 1 log_syslog = 0 general_log_file = /var/log/mysql/gen.log log_builtin_as_identified_by_password = 1 log_error = /var/log/mysql/err.log log_error_verbosity = 3 log_output = FILE log_queries_not_using_indexes = 1 log_slow_admin_statements = 1 log_timestamps = SYSTEM long_query_time = 3 slow_query_log = 1 slow_query_log_file = /var/log/mysql/slo.log Там же закоментите строку "!includedir /etc/mysql/conf.d/" Запустите всё взад, добейтесь ошибки и покажите /var/log/mysql/{gen,err,slo}.log В /usr/local/BGBillingServer/data/log4j.xml не забудьте info на TRACE сменить |
Автор: | deaddaemon [ 15 сен 2017, 11:33 ] |
Заголовок сообщения: | Re: Ошибка sql на добавлении устройства |
skn писал(а): Цитата: но дальше начал наполнять биллинг, добавляю устройство, выдает: java.util.concurrent.ExecutionException: ru.bitel.bgbilling.common.BGException: java.sql.SQLException: Column 'uptime' not found. подскажите куда копать? полностью код ошибки покажите java.util.concurrent.ExecutionException: ru.bitel.bgbilling.common.BGException: java.sql.SQLException: Column 'uptime' not found. at java.util.concurrent.FutureTask.report(Unknown Source) at java.util.concurrent.FutureTask.get(Unknown Source) at javax.swing.SwingWorker.get(Unknown Source) at ru.bitel.oss.systems.inventory.resource.client.device.DevicePanel$7$2.done(DevicePanel.java:667) at javax.swing.SwingWorker$5.run(Unknown Source) at javax.swing.SwingWorker.doneEDT(Unknown Source) at javax.swing.SwingWorker.access$100(Unknown Source) at javax.swing.SwingWorker$2.done(Unknown Source) at java.util.concurrent.FutureTask.finishCompletion(Unknown Source) at java.util.concurrent.FutureTask.setException(Unknown Source) at java.util.concurrent.FutureTask.run(Unknown Source) at javax.swing.SwingWorker.run(Unknown Source) at ru.bitel.oss.systems.inventory.resource.client.device.DevicePanel$7.actionPerformedImpl(DevicePanel.java:684) at ru.bitel.common.client.AbstractBGUPanel.actionPerformed(AbstractBGUPanel.java:237) at ru.bitel.common.client.AbstractBGUPanel$DefaultAction.actionPerformed(AbstractBGUPanel.java:91) at ru.bitel.common.client.AbstractBGUPanel.performAction(AbstractBGUPanel.java:541) at ru.bitel.common.client.AbstractBGUPanel.performAction(AbstractBGUPanel.java:522) at ru.bitel.common.client.AbstractBGUPanel.performAction(AbstractBGUPanel.java:517) at ru.bitel.bgbilling.client.common.BGServiceConfig.performAction(BGServiceConfig.java:332) at ru.bitel.bgbilling.client.common.BGServiceConfig.setData(BGServiceConfig.java:491) at ru.bitel.bgbilling.client.common.BGServiceConfig.jTabbedPane_stateChanged(BGServiceConfig.java:580) at ru.bitel.bgbilling.client.common.BGServiceConfig.access$500(BGServiceConfig.java:42) at ru.bitel.bgbilling.client.common.BGServiceConfig$2.stateChanged(BGServiceConfig.java:302) at javax.swing.JTabbedPane.fireStateChanged(Unknown Source) at javax.swing.JTabbedPane$ModelListener.stateChanged(Unknown Source) at javax.swing.DefaultSingleSelectionModel.fireStateChanged(Unknown Source) at javax.swing.DefaultSingleSelectionModel.setSelectedIndex(Unknown Source) at javax.swing.JTabbedPane.setSelectedIndexImpl(Unknown Source) at javax.swing.JTabbedPane.setSelectedIndex(Unknown Source) at javax.swing.plaf.basic.BasicTabbedPaneUI$Handler.mousePressed(Unknown Source) at java.awt.AWTEventMulticaster.mousePressed(Unknown Source) at java.awt.Component.processMouseEvent(Unknown Source) at javax.swing.JComponent.processMouseEvent(Unknown Source) at java.awt.Component.processEvent(Unknown Source) at java.awt.Container.processEvent(Unknown Source) at java.awt.Component.dispatchEventImpl(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source) at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source) at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Window.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.EventQueue.dispatchEventImpl(Unknown Source) at java.awt.EventQueue.access$500(Unknown Source) at java.awt.EventQueue$3.run(Unknown Source) at java.awt.EventQueue$3.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) at java.awt.EventQueue$4.run(Unknown Source) at java.awt.EventQueue$4.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.run(Unknown Source) Caused by: ru.bitel.bgbilling.common.BGException: java.sql.SQLException: Column 'uptime' not found. at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) at java.lang.reflect.Constructor.newInstance(Unknown Source) at com.sun.xml.ws.fault.SOAPFaultBuilder.createUserDefinedException(SOAPFaultBuilder.java:318) at com.sun.xml.ws.fault.SOAPFaultBuilder.createException(SOAPFaultBuilder.java:139) at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:123) at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:93) at com.sun.xml.ws.client.sei.SEIStub.invoke(SEIStub.java:144) at com.sun.proxy.$Proxy44.inetDeviceRoot(Unknown Source) at ru.bitel.bgbilling.modules.inet.api.client.InetDevicePanel.deviceRoot(InetDevicePanel.java:720) at ru.bitel.bgbilling.modules.inet.api.client.InetDevicePanel.deviceRoot(InetDevicePanel.java:69) at ru.bitel.oss.systems.inventory.resource.client.device.DevicePanel$7$2.doInBackground(DevicePanel.java:646) at ru.bitel.oss.systems.inventory.resource.client.device.DevicePanel$7$2.doInBackground(DevicePanel.java:641) at javax.swing.SwingWorker$1.call(Unknown Source) ... 52 more |
Автор: | deaddaemon [ 15 сен 2017, 11:48 ] |
Заголовок сообщения: | Re: Ошибка sql на добавлении устройства |
ok-2004 писал(а): Стопорните Mysql и BGB. Если у Вас действительно Mysql > 5.7 (а не mssql!), то добавьте в /etc/mysql/my.cnf строчки : Код: general_log = 1 log_syslog = 0 general_log_file = /var/log/mysql/gen.log log_builtin_as_identified_by_password = 1 log_error = /var/log/mysql/err.log log_error_verbosity = 3 log_output = FILE log_queries_not_using_indexes = 1 log_slow_admin_statements = 1 log_timestamps = SYSTEM long_query_time = 3 slow_query_log = 1 slow_query_log_file = /var/log/mysql/slo.log Там же закоментите строку "!includedir /etc/mysql/conf.d/" Запустите всё взад, добейтесь ошибки и покажите /var/log/mysql/{gen,err,slo}.log В /usr/local/BGBillingServer/data/log4j.xml не забудьте info на TRACE сменить Сделал, ошибку воспроизвел, логи указанные не появились |
Автор: | deaddaemon [ 15 сен 2017, 11:50 ] |
Заголовок сообщения: | Re: Ошибка sql на добавлении устройства |
из нового... попробовал к Inet добавить услугу, в результате: ru.bitel.bgbilling.common.BGException: Data truncation: Incorrect datetime value: '0000-00-00 00:00:00' for column 'lm' at row 1 [22001, 1292] |
Автор: | ok-2004 [ 15 сен 2017, 18:22 ] |
Заголовок сообщения: | Re: Ошибка sql на добавлении устройства |
Вы походу, когда dump.sql с ошибкой накатили, потом базу не переинициализировали. Повторный накат взерошил базу както сильно. поле lm присутствует в базе в таких таблицах : Код: contract_charge: `lm` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, contract_parameters_pref: `lm` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', contract_payment: `lm` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, contract_payment_deleted: `lm` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, contract_service: `lm` date NOT NULL DEFAULT '0000-00-00', contract_tariff: `lm` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', module_tariff_tree: `lm` bigint(20) NOT NULL DEFAULT '0', service: `lm` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', source: `lm` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', tariff_plan: `lm` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', В таблицах contract_service,module_tariff_tree и contract_* действительно не может быть поля 0000-00-00 00:00:00 Логи не появились потому что либо папки /var/log/mysql нет, либо её владелец не mysql. ПРи старте bgb gen.log должен стать забитым под завязку всякими запросами. Стопорните mysqld , удалите /var/lib/mysql и запустите: Код: mysqld --defaults-file=/etc/mysql/my.cnf --initialize-insecure --user=mysql --datadir=/var/lib/mysql а потом : Код: echo "ALTER USER 'root'@'localhost' IDENTIFIED BY '<пароль мускульного рута>';show warnings;" > /tmp/pre_bgb.sql echo "CREATE USER 'root'@'127.0.0.1' IDENTIFIED BY '<пароль мускульного рута>';show warnings;" >> /tmp/pre_bgb.sql echo "GRANT ALL PRIVILEGES ON *.* TO 'root'@'127.0.0.1' WITH GRANT OPTION;show warnings;" >> /tmp/pre_bgb.sql echo "CREATE DATABASE bgbilling DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;show warnings;" >> /tmp/pre_bgb.sql echo "CREATE USER 'bill'@'127.0.0.1' IDENTIFIED BY 'bgbilling';show warnings;" >> /tmp/pre_bgb.sql echo "CREATE USER 'bill'@'localhost' IDENTIFIED BY 'bgbilling';show warnings;" >> /tmp/pre_bgb.sql echo "CREATE USER 'bill'@'bgb' IDENTIFIED BY 'bgbilling';show warnings;" >> /tmp/pre_bgb.sql echo "CREATE USER 'bill'@'%' IDENTIFIED BY 'bgbilling';show warnings;" >> /tmp/pre_bgb.sql echo "GRANT ALL PRIVILEGES ON bgbilling.* TO 'bill'@'localhost';show warnings;" >> /tmp/pre_bgb.sql echo "GRANT ALL PRIVILEGES ON bgbilling.* TO 'bill'@'%';show warnings;" >> /tmp/pre_bgb.sql echo "GRANT ALL PRIVILEGES ON bgbilling.* TO 'bill'@'127.0.0.1';show warnings;" >> /tmp/pre_bgb.sql echo "GRANT ALL PRIVILEGES ON bgbilling.* TO 'bill'@'bgb';show warnings;" >> /tmp/pre_bgb.sql потом запустите mysqld и введите : Код: mysql -u root --skip-password -vvv --max_allowed_packet=100M --init-command="SET NAMES utf8" < /tmp/pre_bgb.sql Ели если у Вас есть другие базы сделайте нахудой конец в консоле mysql: Код: DROP DATABASE IF EXISTS bgbilling; CREATE DATABASE bgbilling DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci После этого перестановите БЖБ. ЗЫ :тока ща заметил из первого поста : Цитата: root@bgbilling:/usr/local# sudo mysql -p < dump.sql Вы и так под рутом сидите , зачем Вам sudo ? ========================= Да кстати - воткните в my.cnf : explicit_defaults_for_timestamp=1 Вы ж в начале dump заливали с неявно заданным режимом : NO_ZERO_DATE , а потом отключили его, потому часть таблиц после первой заливки стала кривой. При повторной заливке dump.sql c отсутствующей старой базой bgbilling прибавте в конце : " > /tmp/dump.log 2>&1" и поизучайте этот файл на Warning или ERROR . |
Автор: | deaddaemon [ 20 сен 2017, 11:55 ] |
Заголовок сообщения: | Re: Ошибка sql на добавлении устройства |
ok-2004 писал(а): Вы походу, когда dump.sql с ошибкой накатили, потом базу не переинициализировали. Повторный накат взерошил базу както сильно. ....... спасибо за подробную инструкцию! попробую еще раз все с нуля поставить. а все-таки когда ошибка вылезает при первичной заливке дампа root@bgbilling:/usr/local# mysql -p < dump.sql ERROR 1067 (42000) at line 153: Invalid default value for 'dt' правильно установить sql-mode="NO_ENGINE_SUBSTITUTION" ? |
Автор: | ok-2004 [ 20 сен 2017, 12:54 ] |
Заголовок сообщения: | Re: Ошибка sql на добавлении устройства |
Если у Вас mysql > 5.6 - то - да! (т.к. по умолчанию включено много "strict" режимов) Так же настоятельно рекомендую добавить в секцию [mysqld] my.cnf : explicit_defaults_for_timestamp=1 (по моему бителовцы делают дампы с марии-5.5, при заливке на более новые версии могут быть проблемы с датой/временем.) И последнее : Если дамп опять не зальётся - пересоздайте /var/lib/mysql заново и произведите над dump.sql следующую манипуляцию : Код: sed -i -e "s/;/;show warnings;/" dump.sql А после заливайте дамп вот так : Код: mysql -u root -p<пароль мускульного рута> -vvv --init-command="SET NAMES utf8" < dump.sql > dump.log 2>&1 Пришлите dump.log, посмотрим вместе. Если ещё добъётесь писания логов в /var/log/mysql/err.log и в /var/log/mysql/gen.log - то будет просто замечательно! Логирование в gen.log желательно всегда включать при установке и апгрейде бжб, в рабочем режиме логирование в gen.log конечно надо отключить. Успешного dump-инга! |
Автор: | deaddaemon [ 24 сен 2017, 16:28 ] |
Заголовок сообщения: | Re: Ошибка sql на добавлении устройства |
порешалось установкой NO_ENGINE_SUBSTITUTION прямо в mysql.cnf теперь все норм! |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |