Can't save "Add New Monitor" in ZM-Console
Can't save "Add New Monitor" in ZM-Console
I have a good working system on an other desktop (lubuntu 15.10 with Zoneminder 1.28), there
I can add my 2 IP camera's ( D-link 932L) without any problem.
On an other desktop I installed Ubuntu 16.04 (Amd 64) and installed zoneminder 1.29 via
https://wiki.zoneminder.com/Ubuntu_Serv ... e_easy_way.
I had a few missing dependencies, but overall I got the ZM-console without to many problems.
When adding my 2 camera's ( with the same data as in the "Zoneminder 1.28 " system) I noticed an additional field "Server" with the not changeable value 'None'.
When I tried to save it, the window shows:
SQL-ERR 'SQLSTATE[HY000]: General error: 1366 Incorrect integer value: '' for column 'ServerId' at row 1', statement was 'insert into Monitors set LinkedMonitors = '', Name = 'Monitor-1', ServerId = '', Type = 'Remote', Function = 'Monitor', Enabled = '1', RefBlendPerc = '6', AlarmRefBlendPerc = '6', AnalysisFPS = '', MaxFPS = '', AlarmMaxFPS = '', Device = '/dev/video0', Channel = '0', Format = '255', Palette = '0', V4LMultiBuffer = '', V4LCapturesPerFrame = '1', Options = '', LabelFormat = '%N - %Y-%m-%d %H:%M:%S %z', LabelX = '0', LabelY = '0', LabelSize = '1', ImageBufferCount = '50', WarmupCount = '25', PreEventCount = '25', PostEventCount = '25', StreamReplayBuffer = '1000', AlarmFrameCount = '1', EventPrefix = 'Event-', SectionLength = '600', FrameSkip = '0', MotionFrameSkip = '0', AnalysisUpdateDelay = '0', FPSReportInterval = '1000', DefaultView = 'Events', DefaultRate = '100', DefaultScale = '100', WebColour = 'red', Exif = '0', SignalCheckColour = '#0000c0', Protocol = 'http', Method = 'simple', Host = 'admin:dorus43@192.168.2.5', Port = '80', Path = 'video.cgi', Colours = '4', Width = '640', Height = '480', Orientation = '0', Deinterlacing = '0', Sequence = 1'
Any help will be appreciated
dorus43
I can add my 2 IP camera's ( D-link 932L) without any problem.
On an other desktop I installed Ubuntu 16.04 (Amd 64) and installed zoneminder 1.29 via
https://wiki.zoneminder.com/Ubuntu_Serv ... e_easy_way.
I had a few missing dependencies, but overall I got the ZM-console without to many problems.
When adding my 2 camera's ( with the same data as in the "Zoneminder 1.28 " system) I noticed an additional field "Server" with the not changeable value 'None'.
When I tried to save it, the window shows:
SQL-ERR 'SQLSTATE[HY000]: General error: 1366 Incorrect integer value: '' for column 'ServerId' at row 1', statement was 'insert into Monitors set LinkedMonitors = '', Name = 'Monitor-1', ServerId = '', Type = 'Remote', Function = 'Monitor', Enabled = '1', RefBlendPerc = '6', AlarmRefBlendPerc = '6', AnalysisFPS = '', MaxFPS = '', AlarmMaxFPS = '', Device = '/dev/video0', Channel = '0', Format = '255', Palette = '0', V4LMultiBuffer = '', V4LCapturesPerFrame = '1', Options = '', LabelFormat = '%N - %Y-%m-%d %H:%M:%S %z', LabelX = '0', LabelY = '0', LabelSize = '1', ImageBufferCount = '50', WarmupCount = '25', PreEventCount = '25', PostEventCount = '25', StreamReplayBuffer = '1000', AlarmFrameCount = '1', EventPrefix = 'Event-', SectionLength = '600', FrameSkip = '0', MotionFrameSkip = '0', AnalysisUpdateDelay = '0', FPSReportInterval = '1000', DefaultView = 'Events', DefaultRate = '100', DefaultScale = '100', WebColour = 'red', Exif = '0', SignalCheckColour = '#0000c0', Protocol = 'http', Method = 'simple', Host = 'admin:dorus43@192.168.2.5', Port = '80', Path = 'video.cgi', Colours = '4', Width = '640', Height = '480', Orientation = '0', Deinterlacing = '0', Sequence = 1'
Any help will be appreciated
dorus43
Re: Can't save "Add New Monitor" in ZM-Console
I had the same problem with my install on Debian 8 with MySQL upgraded to v5.6.
Long story short, you probably need to have the line in file /etc/mysql/my.cnf in place of
The serverid column is integer, so should only accept either an integet value or NULL. It should not accept a zero length string, which is what it is being supplied instead of a NULL value. Removing the STRICT_TRANS_TABLES option from the above line of the config file tells MySQL to operate in a more permissive (but technically incorrect) manner. It looks like a rookie programming error that hasn't yet been corrected but I guess there might also be a more involved reason why it's as it is.
Long story short, you probably need to have the line
Code: Select all
sql_mode=NO_ENGINE_SUBSTITUTION
Code: Select all
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
Re: Can't save "Add New Monitor" in ZM-Console
All that stuff is in the instructions.
When all else fails...
When all else fails...
Re: Can't save "Add New Monitor" in ZM-Console
The guide that the OP refers to makes no mention of the STRICT_TRANS_TABLES directive, which is what *appears* to be the issue here. We'll need to await the OP's response to see if its removal was necessary. In my case, the sql_mode was set to "NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES" from the beginning and it took a bit of detective work to figure out what was going wrong. The Debian installation guide does not cover this point, nor could I find anything related to it when upgrading MySQL to version 5.6.bbunge wrote:All that stuff is in the instructions.
When all else fails...
Re: Can't save "Add New Monitor" in ZM-Console
@krasnal Thanks for your help, but neither in /etc/mysql/my.cnf or in ~/.my.cnf ,
I could find "sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES", but in /usr/share/mysql/my-default.cnf
I found it and changed it to" sql_mode=NO_ENGINE_SUBSTITUTION" restarted the system, but unfortunately it didn't solve
my problem.
Has anybody has an other suggestion ?
Thanks
I could find "sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES", but in /usr/share/mysql/my-default.cnf
I found it and changed it to" sql_mode=NO_ENGINE_SUBSTITUTION" restarted the system, but unfortunately it didn't solve
my problem.
Has anybody has an other suggestion ?
Thanks
Re: Can't save "Add New Monitor" in ZM-Console
@dorus43 The instructions mention that you should and then edit the second file. Do you have the "NO_ENGINE_SUBSTITUTION" line in the second file?
You can also logon to mysql (mysql -u root -p) and run the following
Maybe they'll throw something up.
Code: Select all
cp /etc/mysql/mysql.conf.d/mysqld.cnf /etc/mysql/my.cnf
You can also logon to mysql (mysql -u root -p) and run the following
Code: Select all
SELECT @@GLOBAL.sql_mode;
SELECT @@SESSION.sql_mode;
Re: Can't save "Add New Monitor" in ZM-Console
I did not found "NO_ENGINE_SUBSTITUTION" in /etc/mysql/my.cnf
--------------------------
mysql> SELECT @@GLOBAL.sql_mode;
+-------------------------------------------------------------------------------------------------------------------------------------------+
| @@GLOBAL.sql_mode |
+-------------------------------------------------------------------------------------------------------------------------------------------+
| ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION |
+-------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0,00 sec)
mysql> SELECT @@SESSION.sql_mode;
+-------------------------------------------------------------------------------------------------------------------------------------------+
| @@SESSION.sql_mode |
+-------------------------------------------------------------------------------------------------------------------------------------------+
| ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION |
+-------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0,00 sec)
mysql>
--------------------------
mysql> SELECT @@GLOBAL.sql_mode;
+-------------------------------------------------------------------------------------------------------------------------------------------+
| @@GLOBAL.sql_mode |
+-------------------------------------------------------------------------------------------------------------------------------------------+
| ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION |
+-------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0,00 sec)
mysql> SELECT @@SESSION.sql_mode;
+-------------------------------------------------------------------------------------------------------------------------------------------+
| @@SESSION.sql_mode |
+-------------------------------------------------------------------------------------------------------------------------------------------+
| ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION |
+-------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0,00 sec)
mysql>
Re: Can't save "Add New Monitor" in ZM-Console
Well, it should be there, so you'll need to edit the file.dorus43 wrote:I did not found "NO_ENGINE_SUBSTITUTION" in /etc/mysql/my.cnf
The sql queries show that STRICT_TRANS_TABLES is still set. I think it's the root cause of your problem.
Re: Can't save "Add New Monitor" in ZM-Console
cat /etc/mysql/my.cnf
#
# The MySQL database server configuration file.
#
# You can copy this to one of:
# - "/etc/mysql/my.cnf" to set global options,
# - "~/.my.cnf" to set user-specific options.
#
# One can use all long options that the program supports.
# Run program with --help to get a list of available options and with
# --print-defaults to see which it would actually understand and use.
#
# For explanations see
# http://dev.mysql.com/doc/mysql/en/serve ... ables.html
# This will be passed to all mysql clients
# It has been reported that passwords should be enclosed with ticks/quotes
# escpecially if they contain "#" chars...
# Remember to edit /etc/mysql/debian.cnf when changing the socket location.
# Here is entries for some specific programs
# The following values assume you have at least 32M ram
[mysqld_safe]
socket = /var/run/mysqld/mysqld.sock
nice = 0
[mysqld]
#
# * Basic Settings
#
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
lc-messages-dir = /usr/share/mysql
skip-external-locking
#
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address = 127.0.0.1
#
# * Fine Tuning
#
key_buffer_size = 16M
max_allowed_packet = 16M
thread_stack = 192K
thread_cache_size = 8
# This replaces the startup script and checks MyISAM tables if needed
# the first time they are touched
myisam-recover-options = BACKUP
#max_connections = 100
#table_cache = 64
#thread_concurrency = 10
#
# * Query Cache Configuration
#
query_cache_limit = 1M
query_cache_size = 16M
#
# * Logging and Replication
#
# Both location gets rotated by the cronjob.
# Be aware that this log type is a performance killer.
# As of 5.1 you can enable the log at runtime!
#general_log_file = /var/log/mysql/mysql.log
#general_log = 1
#
# Error log - should be very few entries.
#
log_error = /var/log/mysql/error.log
#
# Here you can see queries with especially long duration
#log_slow_queries = /var/log/mysql/mysql-slow.log
#long_query_time = 2
#log-queries-not-using-indexes
#
# The following can be used as easy to replay backup logs or for replication.
# note: if you are setting up a replication slave, see README.Debian about
# other settings you may need to change.
#server-id = 1
#log_bin = /var/log/mysql/mysql-bin.log
expire_logs_days = 10
max_binlog_size = 100M
#binlog_do_db = include_database_name
#binlog_ignore_db = include_database_name
#
# * InnoDB
#
# InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/.
# Read the manual for more InnoDB related options. There are many!
#
# * Security Features
#
# Read the manual, too, if you want chroot!
# chroot = /var/lib/mysql/
#
# For generating SSL certificates I recommend the OpenSSL GUI "tinyca".
#
# ssl-ca=/etc/mysql/cacert.pem
# ssl-cert=/etc/mysql/server-cert.pem
# ssl-key=/etc/mysql/server-key.pem
#
# The MySQL database server configuration file.
#
# You can copy this to one of:
# - "/etc/mysql/my.cnf" to set global options,
# - "~/.my.cnf" to set user-specific options.
#
# One can use all long options that the program supports.
# Run program with --help to get a list of available options and with
# --print-defaults to see which it would actually understand and use.
#
# For explanations see
# http://dev.mysql.com/doc/mysql/en/serve ... ables.html
# This will be passed to all mysql clients
# It has been reported that passwords should be enclosed with ticks/quotes
# escpecially if they contain "#" chars...
# Remember to edit /etc/mysql/debian.cnf when changing the socket location.
# Here is entries for some specific programs
# The following values assume you have at least 32M ram
[mysqld_safe]
socket = /var/run/mysqld/mysqld.sock
nice = 0
[mysqld]
#
# * Basic Settings
#
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
lc-messages-dir = /usr/share/mysql
skip-external-locking
#
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address = 127.0.0.1
#
# * Fine Tuning
#
key_buffer_size = 16M
max_allowed_packet = 16M
thread_stack = 192K
thread_cache_size = 8
# This replaces the startup script and checks MyISAM tables if needed
# the first time they are touched
myisam-recover-options = BACKUP
#max_connections = 100
#table_cache = 64
#thread_concurrency = 10
#
# * Query Cache Configuration
#
query_cache_limit = 1M
query_cache_size = 16M
#
# * Logging and Replication
#
# Both location gets rotated by the cronjob.
# Be aware that this log type is a performance killer.
# As of 5.1 you can enable the log at runtime!
#general_log_file = /var/log/mysql/mysql.log
#general_log = 1
#
# Error log - should be very few entries.
#
log_error = /var/log/mysql/error.log
#
# Here you can see queries with especially long duration
#log_slow_queries = /var/log/mysql/mysql-slow.log
#long_query_time = 2
#log-queries-not-using-indexes
#
# The following can be used as easy to replay backup logs or for replication.
# note: if you are setting up a replication slave, see README.Debian about
# other settings you may need to change.
#server-id = 1
#log_bin = /var/log/mysql/mysql-bin.log
expire_logs_days = 10
max_binlog_size = 100M
#binlog_do_db = include_database_name
#binlog_ignore_db = include_database_name
#
# * InnoDB
#
# InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/.
# Read the manual for more InnoDB related options. There are many!
#
# * Security Features
#
# Read the manual, too, if you want chroot!
# chroot = /var/lib/mysql/
#
# For generating SSL certificates I recommend the OpenSSL GUI "tinyca".
#
# ssl-ca=/etc/mysql/cacert.pem
# ssl-cert=/etc/mysql/server-cert.pem
# ssl-key=/etc/mysql/server-key.pem
Re: Can't save "Add New Monitor" in ZM-Console
@krasnal Thanks for your help at last it works , I just added "sql_mode = NO_ENGINE_SUBSTITUTION" at the end of the "/etc/mysql/my.cnf "file and restarted my desktop
thanks again
Dorus
thanks again
Dorus
Re: Can't save "Add New Monitor" in ZM-Console
Hello,
For me, it only worked by adding "sql_mode = NO_ENGINE_SUBSTITUTION" to /etc/mysql/mysql.conf.d/mysqld.cnf
Adding it my.cnf prevented mysql to restart...
Thank you for your great help
For me, it only worked by adding "sql_mode = NO_ENGINE_SUBSTITUTION" to /etc/mysql/mysql.conf.d/mysqld.cnf
Adding it my.cnf prevented mysql to restart...
Thank you for your great help
Re: Can't save "Add New Monitor" in ZM-Console
A newer discussion of this issue, and another solution is here: https://github.com/ZoneMinder/zoneminder/issues/2504:
"using kate to edit both zm and cake php files, .. inserted 'IGNORE' between all 'INSERT INTO' and after 'APPEND ' sql statements.
"using kate to edit both zm and cake php files, .. inserted 'IGNORE' between all 'INSERT INTO' and after 'APPEND ' sql statements.